का उपयोग कर खाली हैं, माता-पिता लेआउट से एक कस्टम लेआउट में एक कस्टम लेआउट से पास करने का प्रयास कर रहे हैं।मोनोड्रॉइड/xamarin कस्टम विशेषताओं ObtainStyledAttributes
ObtainStyledAttributes() से लौटाया गया टाइपेडअरे, मेरे द्वारा बनाए गए कस्टम गुणों के लिए संबंधित कस्टम मान प्रतीत नहीं होता है, हालांकि मैं 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" />
देखें कक्षा:
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