android - Xamarin एंड्रॉइड कस्टम दृश्य कस्टम विशेषता को हमेशा डिफ़ॉल्ट मान देता है



xml android-layout (1)

आपको xmlns:my="http://schemas.android.com/apk/res-auto" उपयोग करना चाहिए xmlns:my="http://schemas.android.com/apk/res-auto" xmlns:my="http://schemas.android.com/apk/lib/mycomponents" बजाय xmlns:my="http://schemas.android.com/apk/res-auto" xmlns:my="http://schemas.android.com/apk/lib/mycomponents" री-ऑटो नामस्थान स्वचालित रूप से सभी पुस्तकालय विशेषताओं सहित आपके द्वारा घोषित सभी विशेषताओं का पता लगाता है। जैसे appcompat एट्रिब्यूट्स भी रेस-ऑटो नेमस्पेस के जरिए पहुंच योग्य हैं।

आप इसे उपयोगी पा सकते हैं: https://stackoverflow.com/a/26692768/1723695

मैं xamarin एंड्रॉइड में कस्टम दृश्य बना रहा हूं इस कस्टम दृश्य के लिए मेरे पास अलग कक्षा पुस्तकालय परियोजना है

संसाधन / मान / attrs.xml में मेरी विशेषता फ़ाइल इस तरह दिखती है:

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <declare-styleable name="ImageIconView">
    <attr name="imageIcon" format="integer" />
    <attr name="text" format="string" />
    <attr name="alignment" format="enum">
      <enum name="left" value="0"/>
      <enum name="center" value="1"/>
      <enum name="right" value="2"/>
    </attr>
  </declare-styleable>
</resources>

डिबगिंग के लिए मेरी कस्टम व्यू फ़ाइल इस प्रकार दिखती है:

मैं इस प्रोजेक्ट का स्वागत करता हूं और इस दृश्य को इस तरह स्टार्टअप गतिविधि के लिए अपने xaml फ़ाइल में जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:my="http://schemas.android.com/apk/lib/mycomponents"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
  <mycomponents.views.ImageIconView
    android:layout_width="match_parent"
    android:layout_height="150dp" 
    my:text="text from xml!!!"
    my:imageIcon="50"
    my:alignment="center"
    />

</LinearLayout>

कोई संकलित या रनटाइम त्रुटि नहीं यह कस्टम दृश्य मेरे बेस प्रोजेक्ट-स्टार्टअप गतिविधि पर दिखाया गया है। यहां तक ​​कि डीबग करने में भी यह मेरे कस्टम दृश्य फ़ाइल में setValuesFromXml विधि पर जाता है लेकिन IAttributeSet से int, string या enum मान प्राप्त करने का कोई भी प्रकार डिफ़ॉल्ट मान वापस आ गया है। लेकिन फिर भी मुझे कोई त्रुटि या अपवाद नहीं मिलता है।

एक्सएमएल फ़ाइल से मैं अपना कस्टम एट्रिब्यूट मान कैसे प्राप्त करूं?





android-custom-view