2011-09-22 12 views
7

मैंने अभी कक्षा VibratingTextView बनाया है। मैं विगेट्स की पूरी लाइब्रेरी बनाने का इरादा रखता हूं इसलिए मैं इसे सही तरीके से करना चाहता हूं।(टेक्स्टव्यू को कंपन करना) कस्टम दृश्यों के लिए विशेषताओं को कॉन्फ़िगर करें

इस दृश्य के लिए xml:

<sherif.android.textview.VibratingTextView 
    android:id="@+id/textView2" 
    android:layout_width="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:text="outToRight" > 
</sherif.android.textview.VibratingTextView> 

सूचना यह android:orientation और android:text है। यह TextView और LinearLayout के गुणों को स्वीकार करता है। कक्षा स्वयं extends LinearLayout

मेरी समस्या ग्रहण के एक्सएमएल संपादक में है। जब उपयोगकर्ता android: टाइप करता है, ग्रहण की इंटेलिजेंस उपयोगकर्ता को इस नामस्थान में विकल्प उपलब्ध कराता है।

मेरे मामले में, यह LinearLayout के गुण दे रहा है, उदाहरण के लिए, Text और TextSize प्रकट नहीं होता है।

क्या उन्हें प्रदर्शित करने का कोई तरीका है (android नामस्थान का उपयोग करके)?

यदि नहीं, तो क्या मुझे अपनी विशेषताओं के साथ अपना नामस्थान बनाना चाहिए जिसे मैं परिभाषित करता हूं? या एंड्रॉइड के गुणों को आयात करने और उन्हें शेरिफ के गुणों में बनाने का कोई तरीका है?

ध्यान रखें कि मैं पारित गुणों का उपयोग करके अपनी कक्षा के निर्माता में टेक्स्ट व्यू बना रहा हूं। यह ठीक काम कर रहा है और TextView के लिए सभी विशेषताओं को सही ढंग से सेट किया जा रहा है।

चूंकि मैं कई अन्य विजेट बनाउंगा, मुझे अपने नामस्थान की आवश्यकता हो सकती है लेकिन सबसे अच्छा अभ्यास क्या है? उदाहरण के लिए, मैं alwaysVibrate विशेषता बनाना चाहता हूं। यह sherif:alwaysVibrate="true" जैसा कुछ होगा। मैं चाहता हूं कि मेरी लाइब्रेरी शामिल हो और मेरे नेमस्पेस के गुण दिखाने के लिए ग्रहण करें: मैं attr.xml का उपयोग करके सामान्य तरीके का उपयोग करता हूं?

उत्तर

2

मुझे हाल ही में एक ही समस्या का सामना करना पड़ा। यहाँ attrs.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="NumberPicker"> 
     <attr name="rangeStart" format="integer|reference" /> 
     <attr name="rangeEnd" format="integer|reference" /> 
     <attr name="speed" format="integer|reference" /> 
     <attr name="current" format="integer|reference" /> 
     <attr name="android:orientation" /> 
    </declare-styleable> 
</resources> 

में मेरे कस्टम विशेषता घोषणाओं हैं आप android विशेषताओं का पुन: उपयोग कर सकते हैं, लेकिन आप नहीं सिखा सकते हैं उन्हें विभिन्न मूल्यों का सुझाव देना। असल में आप अपनी कस्टम विशेषता परिभाषाओं को कम करने के लिए ग्रहण भी नहीं सिखा सकते हैं (कम से कम इस पोस्ट की तारीख पर, मुझे भविष्य में उस सुविधा को देखना अच्छा लगेगा)।

कस्टम विशेषता को परिभाषित करने के बारे में आप जो कुछ भी जानना चाहते हैं, वह प्रश्न में है: Declaring a custom android UI element using XML

+0

वैसे: मेरे कस्टम व्यू के बहुत अच्छे दिखने वाले प्रभाव के लिए मुझसे ऊपर उठो और आप हमारे साथ साझा करने के इच्छुक हैं! – Knickedi

+0

+1 लेकिन मुझे वास्तव में बुरी खबर से नफरत है: पी! मुझे उम्मीद है कि किसी के पास समाधान होगा। –

+0

बक्षीस के लिए धन्यवाद हालांकि मैंने बाउंटी टाइम्स में जवाब नहीं दिया था! – Knickedi

संबंधित मुद्दे