我见过很多人想知道如何获得自定义组件的自定义属性,但这不是我的问题。我创建了一个自定义组件,我试图添加属性,但是当我在我的xml文件的顶部添加名称空间时,它只发现两个随机自定义属性“paddingEnd”和“paddingStart”。Android自定义属性不显示
<resources>
<declare-styleable name="menu_item_attrs">
<attr name="imageId" format="integer" />
<attr name="menuText" format="string" />
</declare-styleable>
</resources>
这是attrs.xml文件。
public MenuListItem(Context context, AttributeSet set) {
super(context, set);
TypedArray a = context.obtainStyledAttributes(set, R.styleable.menu_item_attrs);
if (a == null) {
return;
}
CharSequence s = a.getString(R.styleable.menu_item_attrs_menuText);
if (s != null) {
// do something
}
}
这是我的自定义类的构造函数。
<LinearLayout
xmlns:custom="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/expanding_layout"
android:background="#029eed">
<aaron.testappanim.MenuListItem
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout>
这是我使用的组件。我想将值添加到“imageId”和“menuText”,但它们不可用。唯一显示的内容是填充相关,如下所示。
任何想法的家伙?
帮我在网上淘的答案,这个简单的问题后,极大地。谢谢! – chaser