2011-10-27 12 views
5

में लंबवत केंद्रित नहीं हो रहा है, मैं एक एंड्रॉइड ऐप बना रहा हूं, और मेरे पास एक कस्टम पृष्ठभूमि छवि वाला बटन है। पृष्ठभूमि छवि सिर्फ एक आयताकार है, लेकिन अब बटन टेक्स्ट लंबवत केंद्रित नहीं लगता है। यहाँ बटन के अनुरूप अपने एक्सएमएल है:बटन पाठ

<Button 
android:id="@+id/save_to_list" 
android:layout_below="@+id/info_pic" 
android:text="SAVE TO LIST" 
android:textColor="@android:color/white" 
android:layout_centerHorizontal="true" 
android:layout_gravity="center_horizontal" 
android:layout_width="260dp" 
android:layout_height="35dp" 
android:layout_marginTop="15dp" 
android:layout_marginBottom="15dp"></Button> 

और मैं पृष्ठभूमि यहां सेट:

ImageView button_bg = (ImageView)findViewById(R.id.button_background); 
savetolist_button.setBackgroundDrawable(button_bg.getDrawable()); 

वहाँ एक है, जहां एक बटन के भीतर पाठ की स्थिति बदलने के लिए है?

उत्तर

12

android:layout_gravity इसके माता-पिता के अंदर लेआउट संरेखण को परिभाषित करता है। उदाहरण के लिए बटन आप की जरूरत android:gravity भीतर पाठ संरेखित करने के लिए,

<Button 
    ... 
    android:gravity="center" 
    ...> 
</Button> 
1

आपके पाठ में प्रत्येक पत्र के हिस्से के रूप में फ़ॉन्ट में कुछ पैडिंग बनाया गया है, और यही कारण है कि आपका टेक्स्ट एक दिशा में धक्का दिया जा रहा है। Layout_height को "wrap_content" पर सेट करें और आपका टेक्स्ट अब सही ढंग से केंद्रित होना चाहिए।

0

मुझे एक्सएमएल ड्रायबल के बजाय आयताकार पृष्ठभूमि के लिए 9 पैच छवि का उपयोग करना सबसे अच्छा लगता है।

4

आपका बटन भी पाठ अनुरूप करने के लिए कम है। Layout_height बढ़ाएं और पाठ केंद्रित होना चाहिए।

0

आप केंद्र के लिए गुरुत्वाकर्षण सेट कर सकते हैं:

android:gravity="center" 
संबंधित मुद्दे