2012-05-01 17 views
10

मेरे पास एक आइकन का प्रतिनिधित्व करने वाली स्क्रीन पर एक छोटा एंड्रॉइड छवि बटन है। समस्या यह है कि स्पर्श करना और सक्रिय करना मुश्किल है। मैं छवि के आकार को स्वयं नहीं बढ़ाना चाहता हूं लेकिन मैं क्लिक करने योग्य क्षेत्र का विस्तार करना चाहता हूं और इसे बड़ा बनाना चाहता हूं, इसलिए यदि उपयोगकर्ता छवि के करीब पर्याप्त है तो यह ऑनक्लिक ईवेंट को सक्रिय करेगा। आस-पास के स्क्रीन क्षेत्र के लिए टच इवेंट्स को लागू किए बिना यह कैसे किया जा सकता है?एंड्रॉइड छवि बटन एक क्लिक करने योग्य क्षेत्र कैसे है जो छवि से बड़ा है?

उत्तर

16

आप अपने ImageButton को अन्य ViewGroup में लपेट सकते हैं और ViewGroup पर पैडिंग सेट कर सकते हैं। फिर आप ViewGroup पर क्लिक के लिए सुनेंगे। यहाँ एक उदाहरण है:

<FrameLayout 
    android:id="@+id/button_layout" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="20dp" > 

    <ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/my_button" 
     android:duplicateParentState="true" 
     android:clickable="false" 
     android:focusable="false" /> 

</FrameLayout> 

फिर आप R.id.button_layout पर क्लिक के लिए सुनने होता है, और अपने ImageButton (दबाया, क्लिक किया, आदि) माता-पिता लेआउट के रूप में सभी एक ही राज्यों प्राप्त करना चाहिए।

+0

मैंने पैडिंग को 20-50 डुबकी के बाएं जोड़ने की कोशिश की लेकिन यह काम नहीं लग रहा है। –

+0

क्या पैडिंग की बजाय पैडिंग = "20 डीआईपी" सेट करने का विचार राइट, पैडिंग लाइफ इत्यादि है? –

+0

यह काम करने पर शायद सबसे तेज़ तकनीक होगी, लेकिन मैं अभी भी इसे सत्यापित करने में सक्षम नहीं हूं। –

0

मेरे पास एक समान स्थिति थी ... मैंने सिर्फ एक रिश्तेदार लेआउट का उपयोग करके आइकन रखा, और फिर उस पर एक बड़ा बटन सीधे रखा जो कि सामान्य राज्य में पूरी तरह से पारदर्शी है, और पारदर्शी रंग जोड़ता है दबाए/केंद्रित/आदि के लिए।

+0

आप पारदर्शी रंग कैसे निर्दिष्ट करते हैं? –

+0

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

+0

पर चीजों को समान रखने के लिए फ़ोन आइकन के लिए एक स्थिर सिस्टम छवि का उपयोग करने की अनुमति देता है: http://developer.android.com /resources/tutorials/views/hello-formstuff.html –

0

मुझे यकीन नहीं है कि हमारा लेआउट कैसे कॉन्फ़िगर किया गया है लेकिन एक चीज जो दिमाग में आती है वह एक सापेक्ष लेआउट का उपयोग करना है। एक बड़ी पारदर्शी पृष्ठभूमि के साथ अपना आइकन बनाएं। इसे लेआउट के साथ सही ढंग से स्थानांतरित करने के लिए आपको बेझिझक करना होगा, लेकिन पारदर्शी क्षेत्र भी क्लिक करने योग्य होगा।

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