2010-09-10 18 views
5

में डिफ़ॉल्ट हाइलाइट रंगों का उपयोग करें, मैं अपने एंड्रॉइड ऐप में एक बटन का उपयोग करना चाहता हूं लेकिन मैं इसे कैसा दिखाना चाहता हूं इसे अनुकूलित करना चाहता हूं। हालांकि, मैं बटन के हाइलाइट और चयनित रंगों को डिफ़ॉल्ट रंगों के समान होना चाहता हूं (यानी अंधेरे और हल्के नारंगी ग्रेडियेंट, या थीम रंग की आपूर्ति जो भी हो)।एंड्रॉइड: एक कस्टम बटन

क्या डिफ़ॉल्ट हाइलाइट/चयनित ड्रॉबल्स प्राप्त करने के लिए वैसे भी है और इसे चुनने के लिए चयनित और हाइलाइट किए गए राज्यों पर मेरे बटन भरने के लिए?

धन्यवाद!

उत्तर

3

आप दो अलग-अलग चीजों के लिए पूछ रहे हैं, क्या आप ड्रॉबल्स या रंगीन कोड चाहते हैं? http://androiddrawableexplorer.appspot.com/ मैं यदि आप उन्हें अपने ऐप्लिकेशन से सीधे उपयोग कर सकते हैं या आप उन्हें पा सकते हैं आप उन्हें बचाने के लिए करने के लिए अपने ड्रॉएबल पहले फ़ोल्डर है, लेकिन यदि नहीं जानता:

वैसे भी, आप ड्रॉएबल यहाँ के नाम पा सकते हैं आपके एसडीके में यदि आप कलरकोड चाहते हैं, तो उन्हें चित्रों से निकालने के लिए जिंप का उपयोग करें।

+0

मुझे लगता है कि मुझे रंग कोड चाहिए, जिसके साथ मैं अपना खुद का ड्रॉइंग बना सकता हूं? असल में मैं यह सुनिश्चित करना चाहता हूं कि मेरा हाइलाइट/चयनित रंग हमेशा प्रत्येक डिवाइस पर सुसंगत रहे। तो मैं नारंगी रंग में हार्डकोड नहीं करना चाहता क्योंकि यह भविष्य में बदल सकता है और कुछ डिवाइस एक अलग रंग का उपयोग करते हैं। इसके बजाय मैं प्रोग्रामक रूप से रंगीन कोड को पकड़ना चाहता हूं। –

+0

चूंकि एंड्रॉइड ड्रॉबल्स का उपयोग कर रहा है और अपने बटन के लिए रंग कोड नहीं है, इसलिए आप किसी भी प्रोग्रामेटिक रूप से उचित तरीके से रंगीन कोड प्राप्त नहीं कर पाएंगे। खैर मुझे यकीन है कि किसी भी तरह से कोई रास्ता है लेकिन मुझे नहीं लगता कि यह इसके लायक है। – softarn

+0

ठीक .. gotcha .. तो मुझे सिर्फ यह जानने की जरूरत है कि ड्रॉइंग का उपयोग कैसे करें जिसमें डिफ़ॉल्ट चयन/हाइलाइट रंग शामिल हैं .... –

0

Selectors जो आप खोज रहे हैं। Google ट्यूटोरियल के लिए चारों ओर। यहां one है।

मुझे लगता है कि आप एंड्रॉइड स्रोत कोड में डिफ़ॉल्ट चयनकर्ता पा सकते हैं।

+10

क्या प्रोग्रामरेटिक रूप से डिफ़ॉल्ट चयनकर्ता रंग को पकड़ने का कोई तरीका है? –

3

ऐसा लगता है कि आप चयनकर्ता के अंदर चयनकर्ता के रूप में उपयोग कर सकते हैं! (आप @android:drawable/btn_default_selected का उपयोग कर सकते हैं या नहीं करना चाहिए, क्योंकि यह निजी है) यह मीन है कि आप अपना खुद का चयनकर्ता लिख ​​सकते हैं और उन आइटम्स के लिए संपूर्ण डिफ़ॉल्ट एंड्रॉइड चयनकर्ता का उपयोग कर सकते हैं जिनके लिए आप डिफ़ॉल्ट व्यवहार चाहते हैं।

मैं इस चयनकर्ता

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item android:drawable="@android:drawable/btn_default" android:state_pressed="true"/> 

</selector> 

इस्तेमाल किया और एक रेखीय लेआउट के लिए पृष्ठभूमि के रूप में में जोड़ा। मैं पता नहीं क्यों, लेकिन इस रूप में अच्छी तरह गद्दी/मार्जिन में गड़बड़, thats क्यों मैं उन्हें 0.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/background_linear_layout_button" 
    android:padding="0dp" 
    android:layout_margin="0dp" 
    android:orientation="vertical" > 

    <!-- YOUR LAYOUT THAT ACTS LIKE A BUTTON --> 
</LinearLayout> 

परिणाम के लिए सेट आप unpressed राज्य और में माता-पिता की पृष्ठभूमि का रंग है है दबाए गए राज्य के लिए एंड्रॉइड पृष्ठभूमि रंग।

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