2012-06-04 16 views
18

मैं के साथ एक बटन पर एक बाईं आइकन स्थापित करने के लिए कोशिश कर रहा हूँ:बटन के लिए बाएं/दाएं पैडिंग .setCompoundDrawablesWithIntrinsicBounds()?

setCompoundDrawablesWithIntrinsicBounds(R.drawable.foo, 0, 0, 0); 

लेकिन आइकन मेरी बटन के बाएँ किनारे, और पाठ स्ट्रिंग के खिलाफ फ्लश ऊपर रखा गया है। क्या आपूर्ति किए गए आइकन पर कुछ बाएं/दाएं पैडिंग निर्दिष्ट करने का कोई तरीका है ताकि यह किनारों के ठीक ऊपर न हो?

धन्यवाद

उत्तर

37

मेरा मानना ​​है कि क्या आप देख रहे हैं android:drawablePadding

यहाँ paddingLeft और paddingRight के साथ drawablePadding का उपयोग कर एक बटन

<Button 
    android:id="@+id/button" 
    android:layout_width="200dp" 
    android:layout_height="80dp" 
    android:drawableLeft="@drawable/ic_launcher" 
    android:drawablePadding="2dip" 
    android:paddingLeft="30dip" 
    android:paddingRight="26dip" 
    android:text="Test" /> 

Image example

में एक छवि स्थिति का एक उदाहरण है है
+0

अच्छा, मुझे यह अस्तित्व नहीं पता था। बहुत बुरा लगता है कि पैडिंग को केवल एक तरफ सेट करने का कोई तरीका नहीं है। – Krylez

+0

मैंने एक तरफ पैडिंग डालने का एक उदाहरण जोड़ा :) – antew

+0

यह काम करता है, लेकिन अगर आप छवि के दाहिने किनारे के साथ अतिरिक्त पैडिंग चाहते हैं तो क्या होगा? – Krylez

6

किसी भी प्रोग्रामेटिक की तलाश में रास्ता, यहां एक उदाहरण है:

menuButton.setCompoundDrawablesWithIntrinsicBounds(R.drawable.foo, 0, 0, 0); 
menuButton.setCompoundDrawablePadding(10); 
संबंधित मुद्दे