Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में बटन के कोने गोल कैसे करें

ड्रॉएबल शेप का उपयोग करके बटन के कोने गोल बनाना

एंड्रॉइड में बटन के कोने गोल करने के लिए XML ड्रॉएबल शेप का उपयोग करना सबसे सरल और प्रभावी तरीका है। यह विधि बटन के विभिन्न स्टेट्स (दबाया गया, फोकस्ड, सामान्य) के लिए अलग-अलग स्टाइल भी परिभाषित करने देती है।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio में File → New Project चुनें और प्रोजेक्ट बनाएं।

चरण 2: मुख्य लेआउट में बटन जोड़ें

res/layout/activity_main.xml में बटन जोड़ें और कस्टम बैकग्राउंड सेट करें:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="16dp"
        android:text="गोल कोने वाला बटन"
        android:textColor="#FFFFFF"
        android:background="@drawable/mybutton"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

चरण 3: MainActivity.java

package com.app.sample;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

चरण 4: ड्रॉएबल शेप XML बनाएं (मुख्य चरण)

res/drawable/mybutton.xml बनाएं - यह फ़ाइल बटन के तीन स्टेट्स को परिभाषित करती है:

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

    <!-- दबाया गया स्टेट -->
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="12dp" />
            <stroke android:width="2dp" android:color="#4A6F6A" />
            <gradient
                android:angle="-90"
                android:startColor="#2E4A45"
                android:endColor="#5A8A82" />
        </shape>
    </item>

    <!-- फोकस्ड स्टेट -->
    <item android:state_focused="true">
        <shape android:shape="rectangle">
            <corners android:radius="12dp" />
            <stroke android:width="2dp" android:color="#4A6F6A" />
            <solid android:color="#4A7A73" />
        </shape>
    </item>

    <!-- सामान्य/डिफ़ॉल्ट स्टेट -->
    <item>
        <shape android:shape="rectangle">
            <corners android:radius="12dp" />
            <stroke android:width="2dp" android:color="#4A6F6A" />
            <gradient
                android:angle="-90"
                android:startColor="#7AA9A2"
                android:endColor="#4A7A73" />
        </shape>
    </item>

</selector>

मुख्य एट्रिब्यूट्स की व्याख्या

  • <corners android:radius> - कोने की गोलाई (dp में)। सभी कोनों के लिए समान रेडियस सेट करता है।
  • <stroke> - बटन की बॉर्डर चौड़ाई और रंग।
  • <gradient> - ग्रेडिएंट बैकग्राउंड (शुरुआत और अंत रंग)।
  • <solid> - ठोस रंग बैकग्राउंड।
  • state_pressed, state_focused - अलग-अलग इंटरेक्शन स्टेट्स के लिए स्टाइल।

व्यक्तिगत कोनों के लिए अलग रेडियस

यदि आपको प्रत्येक कोने के लिए अलग रेडियस चाहिए:

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

चरण 5: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.app.sample">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

परिणाम देखें

ऐप चलाएं। आपको एक सुंदर ग्रेडिएंट बटन दिखाई देगा जिसके कोने गोल होंगे। बटन दबाने पर रंग गहरा होगा, फोकस होने पर ठोस रंग दिखेगा।

प्रो टिप: मटेरियल डिज़ाइन के लिए MaterialButton का उपयोग करें जिसमें बिल्ट-इन app:cornerRadius एट्रिब्यूट होता है - अलग ड्रॉएबल XML की आवश्यकता नहीं होती।
  1. Android ऐप में होम बटन कैसे ओवरराइड करें? Android ऐप में होम बटन कैसे ओवरराइड करें?

    होम बटन दबाने का पता लगाने के लिए onUserLeaveHint() का उपयोग - लेकिन होम बटन को पूरी तरह ओवरराइड/ब्लॉक नहीं किया जा सकता। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <RelativeLayout xmlns:

  1. एंड्रॉइड में होम बटन से कैमरा कैसे लॉन्च करें एंड्रॉइड में होम बटन से कैमरा कैसे लॉन्च करें

    जहां कुछ स्मार्टफोन में कैमरा ऐप लॉन्च करने के लिए एक समर्पित बटन होता है, वहीं अन्य को ऐप ड्रॉअर (या होमस्क्रीन) से मैन्युअल रूप से कैमरा ऐप लॉन्च करने की आवश्यकता होती है। एंड्रॉइड उन कस्टमाइज़ेशन विकल्पों के लिए जाना जाता है जो यह प्रदान करता है, और अब आपके एंड्रॉइड स्मार्टफोन पर होम बटन को कैमरा

  1. Android लेआउट्स में मास्टरी: अपने ऐप के लिए सही लेआउट चुनें Android लेआउट्स में मास्टरी: अपने ऐप के लिए सही लेआउट चुनें

    Linear, Relative, Constraint, Table, Frame और भी बहुत कुछ। जब आप अपने ऐप्लिकेशन को डिज़ाइन करना चाहते हैं तो Android ऐप्लिकेशन्स के पास चुनने के लिए ढेर सारे लेआउट्स होते हैं। सवाल यह है कि सबसे अच्छा कौन सा है?विभिन्न लेआउट्स की डिटेल में जाने से पहले, हम पहले व्यू ऑब्जेक्ट हायरार्की और Android की