2013-07-10 8 views
5

क्या main.xml में एंड्रॉइड बटन में सीमा निर्दिष्ट करना संभव है? [पी। 'अलग xml फ़ाइल युक्त स्ट्रोक टैग' के बिना लेकिन मूल फ़ाइल है जहाँ मैं बिना समाधान और 'छवियों' समाधान] 'गतिशील प्रोग्रामिंग द्वारा'क्या एंड्रॉइड बटन में सीमा निर्दिष्ट करना संभव है?

<Button 
    android:background="#FFFFFF" 
    android:layout_width="0dp" 
    android:layout_height="fill_parent" 
    android:text="Player 3" 
    android:layout_x="0px" 
    android:layout_y="0px" 
    android:id="@+id/p3" 
    android:layout_weight="1" 

/> 
यहाँ

मैं बदल रहा हूँ बटन और भी परिभाषित में पृष्ठभूमि गतिशील रूप से लेकिन समस्या यह है कि 2 बटनों के लिए कोई सीमा नहीं है।

+0

आप आकार चयनकर्ता एक्सएमएल का उपयोग अलग बटन राज्यों के लिए अपनी पसंद की सीमा के साथ कस्टम बटन बनाने के लिए कर सकता है, पर एक नज़र डालें [ एक अलग रंग के साथ मानक एंड्रॉइड बटन] (http://stackoverflow.com/q/1521640/593709) –

+0

लेआउट xmls लेआउट के लिए हैं, ग्राफिकल विनिर्देशों के लिए नहीं – njzk2

+0

@AdilSoomro, मैं थोड़ी उम्मीद थी एनजी कि वहाँ कुछ भी होगा जो मैं चूक गया था। जवाब के लिए आप। मुझे आकार चयनकर्ता दृष्टिकोण के साथ जाना पड़ सकता है। – Nyx

उत्तर

7

यह ऐसा करने का अनुशंसित तरीका नहीं है क्योंकि यह overdraw का कारण बनता है और अनावश्यक विचार, Gunaseelan has the proper method जोड़ता है।


एक विशेषता के रूप में सीमाओं की कोई अवधारणा नहीं है। स्वीकार्य तरीका View (stroke का उपयोग करके पृष्ठभूमि के रूप में अलग ड्रॉ करने योग्य का उपयोग करना है जैसा कि आपने उल्लेख किया है और @ गुनासेलेन लिखते हैं)।

अन्य (अनुशंसित नहीं) जिस तरह से संलग्न करने के लिए अपने एक LinearLayout की तरह एक और View में Button भी encapsulating View और गद्दी पर वांछित सीमा रंग के लिए पृष्ठभूमि रंग सेट बाहरी View पर है।

<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:background="#342334" 
    android:padding="5dp" 
    > 
    <Button 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:text="whatwhaaat" 
     /> 
</LinearLayout> 

पैडिंग का मूल्य सीमा की मोटाई को इंगित करेगा। इस विधि की अनुशंसा नहीं की जाती है क्योंकि आप अपने लेआउट में अतिरिक्त View के साथ समाप्त होते हैं, और ओवरड्रा की एक और परत (यह LinearLayout खींचती है तो शीर्ष पर Button)।

+0

अच्छी तरह से, मैं उम्मीद कर रहा था कि मुझे कुछ याद आएगा। उत्तर के लिए – Nyx

34

कोशिश आकार का उपयोग करने के

my_shape.xml

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle" > 

    <corners 
     android:bottomLeftRadius="7dp" 
     android:bottomRightRadius="7dp" 
     android:radius="0.1dp" 
     android:topLeftRadius="7dp" 
     android:topRightRadius="7dp" /> 

    <solid android:color="#FFFFFF" /> 

    <stroke 
     android:width="1dp" 
     android:color="#E8E6E7" /> 

</shape> 

और बटन

<Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/my_shape" 
    android:text="Button" /> 

स्क्रीनशॉट

enter image description here

मुझे आशा है कि टी उसकी इच्छा आपकी मदद करेगी।

+0

नमस्ते, मैं इस बात से बचने की कोशिश कर रहा था। लेकिन आप अपने उत्तर के लिए धन्यवाद। – Nyx

+1

हाय। मैंने आपका कोड इस्तेमाल किया लेकिन मेरे बटन पर कोई बदलाव दिखाई नहीं देता है। क्या आप मदद कर सकते हैं? –

+0

ध्यान दें कि AndroidStudio डिफ़ॉल्ट रूप से 'चयनकर्ता' बनाता है, न कि 'आकार'। –

0

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<gradient 
    android:angle="270" 
    android:endColor="#E8f2fe" 
    android:startColor="E8f2fe" /> 

<corners android:radius="3dp" /> 

<stroke 
    android:width="2px" 
    android:color="#486e9d" /> 

अधिक जानकारी के लिए

http://androiddhina.blogspot.in/2015/09/border-color-on-android-button.html

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