मेरे पास एक पृष्ठभूमि छवि वाला एक छवि बटन है जिसमें कुछ पारदर्शिता है। डिफ़ॉल्ट रूप से, बटन को भूरे रंग की पृष्ठभूमि मिलती है जहां पारदर्शिता पिक्सल होते हैं - होलो के कारण। लाइट थीम। मैंने setBackgroundColor(Color.TRANSPARENT)
विधि के माध्यम से बटन के पृष्ठभूमि रंग को पारदर्शी करने की कोशिश की। यह ठीक काम करता है और जो कुछ मुझे चाहिए, उसे छोड़कर अब मेरे बटन में हल्का नीला रंग नहीं है जब ध्यान केंद्रित/दबाया जाता है और इसके बजाय फ्लैट दिखता है (इसके चारों ओर कोई सीमा नहीं है, तो यह एक छवि की तरह दिखता है)।एंड्रॉइड छवि बटन पृष्ठभूमि रंग
मैं googled और देखा कि आप चयनकर्ताओं प्रदान कर सकते हैं के रूप में समझाया here लेकिन इसका मतलब यह है कि मैं बटन राज्य प्रति एक छवि निर्दिष्ट करने के लिए है और मैं ऐसा नहीं करना चाहता है। मैं विषय से फोकस/दबाए गए रंगों का उत्तराधिकारी बनना चाहता हूं लेकिन भूरे रंग के बजाय पारदर्शी पर सामान्य बटन पृष्ठभूमि (जब दबाया/केंद्रित नहीं) ओवरराइट करना चाहता हूं। मैं उसे कैसे प्राप्त कर सकता हूं?? कृपया एक कामकाजी उदाहरण प्रदान करें क्योंकि मैंने सफलता के बिना कई अलग-अलग संयोजनों की कोशिश की है।
सहायता के लिए सभी को धन्यवाद। मैंने यह पता लगाया कि प्रत्येक बटन के लिए केंद्रित और दबाए गए राज्यों के साथ एक ही छवि को फिर से बनाने के बिना इस काम को कैसे बनाया जाए!
मेरे बटन के रूप में परिभाषित किया गया है:
<ImageButton
android:id="@+id/ImageButton05"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/button" />
और मेरी पृष्ठभूमि एक्सएमएल फ़ाइल (शीर्षक button.xml) के रूप में परिभाषित किया गया है इस प्रकार है:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list>
<item android:drawable="@drawable/btn_default_pressed_holo_light"></item>
<item android:drawable="@drawable/network_wifi"></item>
</layer-list>
</item>
<item android:state_focused="true">
<layer-list>
<item android:drawable="@drawable/btn_default_focused_holo_light"></item>
<item android:drawable="@drawable/network_wifi"></item>
</layer-list>
</item>
<item android:state_hovered="true">
<layer-list>
<item android:drawable="@drawable/btn_default_focused_holo_light"></item>
<item android:drawable="@drawable/network_wifi"></item>
</layer-list>
</item>
<item>
<layer-list>
<item android:drawable="@drawable/btn_default_normal_holo_light"></item>
<item android:drawable="@drawable/network_wifi"></item>
</layer-list>
</item>
</selector>
यह सेट छवियों में कोई ग्रे नहीं होता है .. वे पारदर्शी हैं क्योंकि मैंने – Ayyoudy
को ध्यान केंद्रित किया है, दबाए गए ग्रे के बजाय दबाए गए काले रंग के नीले रंग के बॉक्स हैं। मेरा संपादन देखें। आपको चमकदार प्रकाश प्रभाव के पीछे छोड़ने के लिए उपर्युक्त छवियों में अंदरूनी "बॉक्स" को संपादित करना होगा। क्या आप अपना प्रश्न संपादित कर सकते हैं और अपनी छविबटन एक्सएमएल घोषणा में से एक पोस्ट कर सकते हैं। शायद मैं गलत समझ रहा हूं कि आप क्या करने की कोशिश कर रहे हैं, इससे मुझे और अधिक स्पष्ट हो जाएगा। – FoamyGuy