我正在构建一个自定义视图,并试图弄清楚如何将它与eclipse中的gui布局编辑器集成。我已将下面的代码添加到我的构造器中。
public baseGrid(Context context, AttributeSet attrs) {
super(context, attrs);
if (attrs.getAttributeValue(null, "bufferTop") != null)
bufferTop = Integer.parseInt(attrs.getAttributeValue(null, "bufferTop"));
...
它可以从xml布局文件中读取此xml属性(... bufferTop="10"
...)。但是,有没有办法让bufferTop在GUI属性编辑器中显示为我可以在不编辑XML的情况下设置的属性?
由于
答案 0 :(得分:2)
尝试将“attrs.xml”文件添加到“res / values”文件夹中。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="MyAttrs">
<attr name="bufferTop" format="dimension" />
<attr name="myColor" format="color" />
<attr name="myInt" format="integer" />
<attr name="myFloat" format="float" />
</declare-styleable>
</resources>
通过以下代码阅读:
public baseGrid(Context contxt, AttributeSet attrs) {
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.MyAttrs);
bufferTop = a.getInt(R.styleable.MyAttrs_bufferTop, 10);
a.recycle();
}
以这种方式定义小部件:
<?xml version="1.0" encoding="utf-8"?>
< YOURPACKAGE.BaseGrid
android:background="@drawable/red"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:bufferTop="100"/>