गोल बटन कैसे बनाये?


141

मैं एक गोल बटन बनाने की कोशिश कर रहा हूं, लेकिन मुझे नहीं पता कि मैं इसे कैसे कर सकता हूं। मैं गोल कोनों के साथ बटन बना सकता हूं, लेकिन मैं गोल चक्र कैसे कर सकता हूं। यह वैसा नहीं है। कृपया, मुझे बताएं, क्या यह एंड्रॉइड पर संभव है? धन्यवाद।


1
यहाँ अच्छी व्याख्या है stackoverflow.com/questions/9884202/custom-circle-button
मिलन

जवाबों:


265

roundedbutton.xmlड्रा करने योग्य फ़ोल्डर में नामित एक xml फ़ाइल बनाएं

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle">
    <solid android:color="#eeffffff" />
    <corners android:bottomRightRadius="8dp"
        android:bottomLeftRadius="8dp"  
        android:topRightRadius="8dp"
        android:topLeftRadius="8dp"/>
</shape>

अंत में पृष्ठभूमि के रूप में सेट करें कि आपके Button रूपandroid:background = "@drawable/roundedbutton"

यदि आप इसे पूरी तरह से गोल करना चाहते हैं, तो त्रिज्या को बदल दें और उस चीज़ के लिए व्यवस्थित करें जो आपके लिए ठीक है।


क्या आपको .xml प्रत्यय की आवश्यकता है? मैंने एक उदाहरण बिना देखा है
नील

@ नहीं आपको xml प्रत्यय जोड़ने की आवश्यकता नहीं है, मैंने इसे प्रदर्शन के उद्देश्य और अवधारणा की स्पष्ट समझ के लिए किया था ताकि पाठक उदाहरण को गलत न लें, ग्रहण ऑटो-असिस्ट आपको यह जानने में मदद करे कि क्या .xml की आवश्यकता है। या नहीं, मुझे अपने विंडोज़ मशीन पर ctrl + space का उपयोग करने की आदत है जो कि ऑटो को पूरा करने के लिए xml कमांड देता है।
आरिफ नदीम

2
आपको शब्द खींचने योग्य होने से पहले '@' प्रतीक की आवश्यकता नहीं है?
शिम

क्या यह समाधान पृष्ठभूमि के रूप में एक गोल छवि का उपयोग करने की तुलना में एक अलग परिणाम है?
सियावश

6
इसके अलावा, एंड्रॉइड का उपयोग क्यों न करें: आकार = "अंडाकार"
सियावश

39

यदि Android स्टूडियो का उपयोग कर रहे हैं, तो आप इसका उपयोग कर सकते हैं:

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="ring">
        <solid android:color="#FFFFFF"/>

    </shape>

यह मेरे लिए ठीक काम करता है, आशा है कि यह किसी की मदद करता है।


2
कोनों के मान का उपयोग करते हुए स्वीकार किया जाना चाहिए, गोल कोनों से परे नहीं जाना चाहिए, और यह प्रश्न एक सर्कल के बारे में है। इस उत्तर के लिए धन्यवाद शॉन
डॉन

12
प्रयोग ringकुछ भी नहीं दिखाता है। उपयोग करने के लिए बेहतर है oval
कोप्सऑनरॉड

31
  1. एक drawable / button_states.xml फ़ाइल युक्त बनाएँ:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="false"> 
            <shape android:shape="rectangle">
            <corners android:radius="1000dp" />
            <solid android:color="#41ba7a" />
            <stroke
                android:width="2dip"
                android:color="#03ae3c" />
            <padding
                android:bottom="4dp"
                android:left="4dp"
                android:right="4dp"
                android:top="4dp" />
            </shape>
        </item>
        <item android:state_pressed="true"> 
            <shape android:shape="rectangle">
            <corners android:radius="1000dp" />
            <solid android:color="#3AA76D" />
            <stroke
                android:width="2dip"
                android:color="#03ae3c" />
            <padding
                android:bottom="4dp"
                android:left="4dp"
                android:right="4dp"
                android:top="4dp" />
            </shape>
        </item>
    </selector>
  2. किसी भी लेआउट फ़ाइल में बटन टैग में इसका उपयोग करें

    <Button
        android:layout_width="220dp"
        android:layout_height="220dp"
        android:background="@drawable/button_states"
        android:text="@string/btn_scan_qr"
        android:id="@+id/btn_scan_qr"
        android:textSize="15dp"
    />

इसके कार्यबल पूरी तरह से, धन्यवाद। क्या आप मुझे केंद्र से आयत को वृत्त के बाहर खींचने में मदद कर सकते हैं, जैसे कि 'Q'
क्लिफोर्ड PY

काम करना ठीक है, लेकिन हमने 1000dp में त्रिज्या क्यों रखा है? क्या आप समझा सकते हैं?
जमशेद कामरान

@JamshaidKamran 1000dp एक मनमाना आकार है जो बटन को गोल करने के लिए काफी बड़ा है।
रैल्वव

क्या Android आयाम संसाधन है जिसका उपयोग हम 1000dp के बजाय कर सकते हैं?
रैल्वव


6

<corners android:bottomRightRadius="180dip"
    android:bottomLeftRadius="180dip"
    android:topRightRadius="180dip"
    android:topLeftRadius="180dip"/>

<solid android:color="#6E6E6E"/> <!-- this one is ths color of the Rounded Button -->

और इसे बटन कोड में जोड़ें

    android:layout_width="50dp"
    android:layout_height="50dp"

5

अंडाकार के रूप में आकार का उपयोग किया। इससे बटन अंडाकार हो जाता है

<item>
    <shape android:shape="oval" >
        <stroke
            android:height="1.0dip"
            android:width="1.0dip"
            android:color="#ffee82ee" />

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

        <corners
            android:bottomLeftRadius="12.0dip"
            android:bottomRightRadius="12.0dip"
            android:radius="12.0dip"
            android:topLeftRadius="12.0dip"
            android:topRightRadius="12.0dip" />
    </shape>
</item>


5
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
    android:color="#ffffff"
    />
</shape>

अपने एक्सएमएल ड्रा करने योग्य संसाधनों, और साधारण उपयोग और छवि बटन को गोल छवि के साथ सेट करें, जो आपके ड्रॉबल को पृष्ठभूमि के रूप में उपयोग करता है।



3

बटन के बजाय ImageButton का उपयोग करें ...।

और पारदर्शी पृष्ठभूमि के साथ गोल छवि बनाएं


3

यदि आप एक FAB लुकिंग सर्कुलर बटन चाहते हैं और आप आधिकारिक मटेरियल कंपोनेंट लाइब्रेरी का उपयोग कर रहे हैं, तो आप इसे आसानी से कर सकते हैं:

<com.google.android.material.button.MaterialButton
    style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
    app:cornerRadius="28dp"
    android:layout_width="56dp"
    android:layout_height="56dp"
    android:text="1" />

परिणाम:

यहां छवि विवरण दर्ज करें

यदि आप बटन का आकार बदलते हैं, तो बस बटन के आधे आकार का उपयोग करने में सावधानी बरतें app:cornerRadius


2

एक गोल बटन के लिए एक आकृति बनाएं:

<?xml version="1.0" encoding="utf-8"?>

<stroke
    android:width="8dp"
    android:color="#FFFFFF" />

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


<corners
    android:bottomLeftRadius="45dp"
    android:bottomRightRadius="45dp"
    android:topLeftRadius="45dp"
    android:topRightRadius="45dp" />

इसे अपने बटन लिंक की पृष्ठभूमि के रूप में उपयोग करें




0

आप google की FloatingActionButton का उपयोग कर सकते हैं

एक्सएमएल:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@android:drawable/ic_dialog_email" />

जावा:

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    FloatingActionButton bold = (FloatingActionButton) findViewById(R.id.fab);
    bold.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
        // Do Stuff
        }
    });
}

Gradle:

    compile 'com.android.support:design:23.4.0'

0
  1. छवि बटन का उपयोग करें और अपनी इच्छानुसार पृष्ठभूमि बनाएं।
  2. Android संपत्ति स्टूडियो लिंक से चित्र बनाएं -

" https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html#foreground.type=image&foreground.space.trim=0&foreground.space.pad=0.25/foreColor=rgba(94%2C%20126%2C%20142%20142%20142 2C% 200) और backColor = rgb (96% 2C% 20125% 2C% 20139) और फसल = 1 & पृष्ठभूमिशाप = वृत्त और प्रभाव = कोई नहीं और नाम = ic_home "

और इसे डाउनलोड करें, इसे एक्सट्रा करें, इसके अंदर mipmap-hdpi फ़ोल्डर देखें।

  1. छवि को mipmap-hdpi फ़ोल्डर से कॉपी करें और इसे अपने एंड्रॉइड प्रोजेक्ट के drwable फ़ोल्डर में पेस्ट करें।

  2. अब उस इमेज के रूप में बैकग्राउंड को सेट करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.