Cố gắng chuyển thuộc tính tùy chỉnh từ bố cục gốc sang bố cục con.thuộc tính tùy chỉnh monodroid/xamarin trống bằng cách sử dụng ObtainStyledAttributes
TypedArray được trả về từ ObtainStyledAttributes() dường như không có giá trị tùy chỉnh tương ứng cho thuộc tính tùy chỉnh mà tôi đã tạo, mặc dù tôi có thể ánh xạ ID của chúng đến các giá trị trong Resource.designer.
Attr.xml:
<resources>
<declare-styleable name="HeaderView">
<attr name="bgcolor" format="color" />
<attr name="testing" format="string" />
</declare-styleable>
Main.xaml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<views.HeaderView
android:id="@+id/hdrWatchList"
android:layout_width="fill_parent"
android:layout_height="20.0dp"
custom:bgcolor="@color/blue"
custom:testing="testing text buddy" />
Xem Class:
public HeaderView (Context context, IAttributeSet attrs) :
base (context, attrs)
{
int[] styleAttrs = Resource.Styleable.HeaderView;
TypedArray a = context.ObtainStyledAttributes(attrs, styleAttrs);
string sid = a.GetString(Resource.Styleable.HeaderView_testing);
int id = a.GetColor(Resource.Styleable.HeaderView_bgcolor, 555);
Log.Info("testing", "resource sid : " + sid); // RETURNS ''
Log.Info("testing", "resource id : " + id); // RETURNS DEF 555