2013-10-24 5 views
14

का आकार घटाना मैं लेआउट में से एक में Button का उपयोग कर रहा हूं। मुझे Button आकार टेक्स्ट/लेबल आकार के रूप में छोटा होना चाहिए।एंड्रॉइड: बटन

मैं निम्नलिखित कोड का उपयोग कर रहा हूं।

<Button 
android:text="@string/cancle_button" 
android:id="@+id/button1" 
android:background="@drawable/back_button" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:gravity="center" 
android:textSize="12sp" 
android:textColor="#ffffff" 
android:textStyle="bold" /> 

लेकिन मुझे Button ऊंचाई टेक्स्ट/लेबल ऊंचाई के समान होना चाहिए। जब भी मैं टेक्स्ट ऊंचाई को कम या बढ़ाता हूं, Button ऊंचाई वही बना रहता है। मुझे इस समस्या को कैसे हल करना चाहिए?

+2

जैसा कि आप पृष्ठभूमि में एक छवि पारित कर रहे हैं, इसलिए बटन का आकार छवि आकार और फिर आपके टेक्स्ट आकार पर निर्भर होगा। तो यदि आपका टेक्स्ट आकार छवि से छोटा है तो यह कम नहीं होगा। लेकिन यदि पाठ का आकार छवि से बड़ा है तो यह पाठ को फिट करने के लिए बढ़ेगा। यह सब "wrap_content" संपत्ति के कारण होता है। – Arshu

+1

धन्यवाद अरशद, लेकिन यहां मैं अपने ड्रॉइंग फ़ोल्डर में .xml रूप में ग्रेडिएंट ड्रॉइंग का उपयोग कर रहा हूं। –

+0

फिर भी ढाल के पास एक निश्चित आकार और आकार भी है। तो छवि के रूप में ही काम करता है। – Arshu

उत्तर

1

आप इसे प्राप्त करने के लिए एक सापेक्ष लेआउट का उपयोग कर सकते हैं। इस नमूना कोड,

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:text="TextView" /> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/textView1" 
     android:layout_alignTop="@id/textView1" 
     android:layout_alignBottom="@id/textView1" 
     android:text="Button" /> 

</RelativeLayout> 
3

उपयोग इस मामले में छवि दृश्य ले सकता है या यदि आप इस मामले में टेक्स्ट लेते हैं तो आप छवि को उचित आकार के साथ ले जा सकते हैं ताकि यह इन उपायों के माध्यम से ब्लूअर न हो, आप छवि के लिए छोटे आकार को सेट कर सकते हैं सर्वश्रेष्ठ तरीका है आप उस आकार के साथ छवि ले सकते हैं, जिसे आप अपना अच्छा तरीका बनाना चाहते हैं

+0

इस आवश्यकता में मैं अपने ड्रॉबल फ़ोल्डर –

1

आप बटन की ऊंचाई को एक विशिष्ट मान पर सेट करके इस समस्या को हल कर सकते हैं जो आपके लेबल की ऊंचाई के समान है।

<Button 
android:text="CANCEL" 
android:id="@+id/button1" 
android:background="@drawable/back_button" 
android:layout_width="wrap_content" 
android:layout_height="20sp" 
android:gravity="center" 
android:textSize="15sp" 
android:textColor="#ffffff" 
android:textStyle="bold" /> 
+1

में ग्रेडिएंट आकृति को खींचने का उपयोग कर रहा हूं, उत्तर देने के लिए धन्यवाद, क्या कोई अन्य तरीका है जहां बटन हार्ड कोडिंग के बिना स्वचालित रूप से आकार समायोजित करेगा। मुझे लगता है कि पाठ का आकार बदलना चाहिए जब टेक्स्ट आकार बदलता है –

+0

यदि आप बदलते हैं पाठ के आकार के रूप में ऊंचाई को रैप सामग्री के रूप में सेट किया गया है, यह स्वचालित रूप से उस ऊंचाई को समायोजित करेगा – jyomin

+0

यह समायोजित नहीं कर रहा है बटन ऊंचाई शेष है। –

82

सवाल पूछने के लगभग एक साल हो गया है। लेकिन अब मुझे समस्या का सामना करना पड़ा और समाधान मिला। :) यह किसी की मदद करेगा।

आप बटन विजेट के लिए android:minHeight="0dp" सेट करके इसे प्राप्त कर सकते हैं।

और मुझे लगता है कि कुछ डिफ़ॉल्ट मान (एक 48dp हो सकता है) ढांचा एक न्यूनतम स्पर्श क्षेत्र पर विचार करके बटन विजेट के लिए सेट किया गया है क्योंकि वहाँ इस व्यवहार है।

+4

बिल्कुल। एक साधारण समस्या के लिए शानदार समाधान। – tasomaniac

+2

इसे सही एक – Redman

+1

के रूप में चिह्नित किया जाना चाहिए धन्यवाद @ श्रीकांत –

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