Tôi đã nhìn thấy rất nhiều bài đăng với những người muốn biết cách nhận thuộc tính tùy chỉnh cho thành phần tùy chỉnh nhưng đó không phải là câu hỏi của tôi. Tôi đã tạo ra một thành phần tùy chỉnh và tôi đang cố gắng thêm thuộc tính nhưng khi tôi thêm không gian tên ở đầu tệp xml của tôi, nó chỉ tìm thấy hai thuộc tính tuỳ chỉnh ngẫu nhiên "paddingEnd" và "paddingStart".Thuộc tính tùy chỉnh Android không hiển thị
<resources>
<declare-styleable name="menu_item_attrs">
<attr name="imageId" format="integer" />
<attr name="menuText" format="string" />
</declare-styleable>
</resources>
Đây là tệp 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
}
}
Đây là hàm tạo trong lớp tùy chỉnh của tôi.
<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>
Đây là thành phần của tôi đang được sử dụng. Tôi muốn thêm các giá trị vào "imageId" và "menuText" nhưng chúng không có sẵn. Những điều duy nhất hiển thị là padding liên quan như hình dưới đây.
Bất kỳ ý tưởng nào?
này đã giúp tôi rất nhiều sau khi sục sạo trên Internet cho một câu trả lời cho vấn đề đơn giản này. Cảm ơn bạn! – chaser