我想在Android片段中使用XML定义自定义属性(不使用捆绑包附加参数),如自定义控件中的declare-styleable
。但是没有带AttrSet参数的构造函数,所以可以吗?我可以覆盖public void onInflate(android.app.Activity activity, android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)
以获得属性支持吗?
我想在Android片段中使用XML定义自定义属性(不使用捆绑包附加参数),如自定义控件中的declare-styleable
。但是没有带AttrSet参数的构造函数,所以可以吗?我可以覆盖public void onInflate(android.app.Activity activity, android.util.AttributeSet attrs, android.os.Bundle savedInstanceState)
以获得属性支持吗?
2条答案
按热度按时间a0x5cqrl1#
Support 4Demos的链接已更改或可以更改,因此请发布完整的解决方案。
1.在res/values文件夹中创建attrs.xml文件。如果文件已存在,则添加以下内容。
1.重写fragment的onInflate委托并读取其中的属性
1.在布局文件中传递这些属性,如下所示
就这样,这是一个可行的解决方案。
在执行此操作时,如果您看到xml中的任何名称空间错误,请尝试一次又一次地清理项目。这很可悲,但Eclipse和adt有时会行为不端。
p4rjhz4m2#