2015-05-21 10 views
16

मैं प्रोग्रामेटिक रूप से छविबटन में भूरे रंग की पृष्ठभूमि को हटा देना चाहता हूं। मुझे यह पसंद को दूर करने के कई विधि की कोशिश की -लहर बटन के साथ छवि बटन में पारदर्शी पृष्ठभूमि?

imageButton.setBackgroundDrawable(null); 

लेकिन उन्हें लागू करने पर, मैं छूने पर ImageButton पर असर नहीं मिलता है। (स्पर्श पर कोई हाइलाइट नहीं)।

क्या पृष्ठभूमि को हटाने का कोई तरीका है लेकिन लहर प्रभाव या हाइलाइट को सुरक्षित रखें।

+1

की संभावित डुप्लिकेट [एक LinearLayout करने के लिए पृष्ठभूमि उजागर स्थापित करने के लिए कैसे?] (Http://stackoverflow.com/questions/8732662/how-to-set-background-highlight-to-a-linearlayout) – rds

उत्तर

27

हैं android:background="?attr/selectableItemBackground" इस काम करता है की तुलना में मेरा मानना ​​है कि यह उत्तर आपकी समस्या का समाधान करना चाहिए:

https://stackoverflow.com/a/28087443/2534007

+3

या इससे भी बेहतर, '' 'एंड्रॉइड: पृष्ठभूमि ="? Attr/selectableItemBackgroundBorderless "' ' – tskulbru

7

बनाएं अपनी खुद की RippleDrawable और आप पारदर्शी पृष्ठभूमि का उपयोग करने जा रहे हैं अगर तुम लहर के लिए मुखौटा का उपयोग करने की जरूरत है।

<!-- A red ripple masked against an opaque rectangle. --/> 
<ripple android:color="#ffff0000"> 
    <item android:id="@android:id/mask" 
     android:drawable="@android:color/white" /> 
</ripple> 
+1

' एपीआई स्तर 21 (वर्तमान न्यूनतम 17 है) की आवश्यकता है, सभी अच्छी चीजें स्पष्ट रूप से कुछ वर्षों में उपयोगी होने जा रही हैं जब उपयोगकर्ता अपग्रेड किया गया है ... –

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