Android में टेक्स्टव्यू के लिए गोल कोना


171

मेरे पास एक टेक्स्टव्यू है और चाहते हैं कि इसका कोना गोल आकार में हो। मुझे पहले से ही पता है कि इसका इस्तेमाल किया जा सकता है android:background="@drawable/somefile"। मेरे मामले में, यह टैग पहले से ही शामिल है इसलिए फिर से उपयोग नहीं किया जा सकता है। उदाहरण android:background="@drawable/mydialogbox"पहले से ही पृष्ठभूमि में छवि बनाने के लिए है

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_gravity="top"
    android:background="@drawable/mydialogbox"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textview_name"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    </LinearLayout>

</RelativeLayout>

इसलिए जब मैं textview(textview_name)राउंड कॉर्नर भी चाहता हूं , तो यह कैसे हासिल किया जा सकता है।


4
यदि आपको अपना उत्तर स्वीकार करने के बजाय मिल गया है तो अन्य आपके योगदान से सहायता प्राप्त कर सकते हैं
मिलापांक

जवाबों:


438

1) फ़ोल्डर rounded_corner.xmlमें बनाएँ drawableऔर निम्न सामग्री जोड़ें,

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >         
   <stroke
          android:width="1dp"
          android:color="@color/common_border_color" />

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

   <padding
           android:left="1dp"
           android:right="1dp"
           android:bottom="1dp"
           android:top="1dp" />

   <corners android:radius="5dp" />
</shape>

2) इस TextViewसंपत्ति को पृष्ठभूमि की संपत्ति में सेट करें। उदाहरण के लिए:

android:background="@drawable/rounded_corner"

मुझे उम्मीद है कि यह आपके लिए उपयोगी है।


16
इसका उत्तर सही है कि जिस व्यक्ति ने पोस्ट किया है, उसे इसके बारे में विस्तार से नहीं बताया। आपको एक xml [उदा। उपरोक्त कोड के साथ आपके ड्रॉएबल फ़ोल्डर में rounded_view.xml]। और अपने टेक्स्टव्यू के आसपास के लेआउट में इसे एक पैरामीटर के रूप में रखें android: background = "@ drawable / rounded_view"
शारजील अहमद

4
Android: background = "@ drawable / rounded_corner" यहां एक्सटेंशन का उपयोग नहीं करते हैं!
बोरिस गफरूव

4
android:shape="rectangle"यदि यह आपके लिए काम नहीं करता है तो जोड़ें
kristyna

और अपने प्रोजेक्ट का पुनर्निर्माण करें यदि यह स्वचालित रूप से काम नहीं करता है
adek111

18

बगल में radius, वहाँ दौर कोने में कुछ संपत्ति हैं जैसे topRightRadius, topLeftRadius, bottomRightRadius,bottomLeftRadius

बॉर्डर ग्रे 'बैकग्राउंड के TextViewसाथ उदाहरणredwith corner and

bg_rounded.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
        android:width="10dp"
        android:color="#f00" />

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

    <corners
        android:radius="5dp"
        android:topRightRadius="100dp" />
</shape>

व्याख्यान दर्शन

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_rounded"
    android:text="Text"
    android:padding="20dp"
    android:layout_margin="10dp"
    />

परिणाम

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


16

चूंकि आपके शीर्ष स्तर के दृश्य में पहले से ही एंड्रॉइड है: पृष्ठभूमि संपत्ति सेट, आप एक नया XML ड्रॉबल बनाने के लिए <layer-list>( लिंक ) का उपयोग कर सकते हैं जो आपकी पुरानी पृष्ठभूमि और आपके नए गोल कोनों की पृष्ठभूमि दोनों को जोड़ती है।

<item>सूची में प्रत्येक तत्व अगले पर तैयार किया गया है, इसलिए सूची में अंतिम आइटम वह है जो शीर्ष पर समाप्त होता है।

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <bitmap android:src="@drawable/mydialogbox" />
    </item>
    <item>
        <shape>
            <stroke
                android:width="1dp"
                android:color="@color/common_border_color" />

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

            <padding
                    android:left="1dp"
                    android:right="1dp"
                    android:top="1dp" />

            <corners android:radius="5dp" />
        </shape>
    </item>
</layer-list>

6

ड्रा करने योग्य फ़ोल्डर के तहत एक xml gradient.xml फ़ाइल बनाएँ

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle"  >
            <corners android:radius="50dip" />
            <stroke android:width="1dip" android:color="#667162" />
            <gradient android:angle="-90" android:startColor="#ffffff" android:endColor="#ffffff" />
        </shape>
    </item>
</selector>

फिर इसे अपने TextView में जोड़ें

android:background="@drawable/gradient"

6
  1. ड्रा करने योग्य फ़ोल्डर पर राइट क्लिक करें और नई फ़ाइल बनाएं
  2. अपने अनुसार फाइल को नाम दें और एक्सटेंशन को .xml के रूप में जोड़ें ।
  3. फ़ाइल में निम्न कोड जोड़ें
  <?xml version="1.0" encoding="utf-8"?>
  <shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle">
      <corners android:radius="5dp" />
      <stroke android:width="1dp"  />
      <solid android:color="#1e90ff" />
  </shape>
  1. उस पंक्ति को जोड़ें जहां आप गोल किनारे चाहते हैं android:background="@drawable/corner"

4

आप दिए गए आयत आकार का उपयोग कर सकते हैं (एक ढाल के बिना, जब तक आप एक नहीं चाहते) निम्नानुसार है:

इन drawable/rounded_rectangle.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="5dp" />
    <stroke android:width="1dp" android:color="#ff0000" />
    <solid android:color="#00ff00" />
</shape>

फिर अपने पाठ दृश्य में:

android:background="@drawable/rounded_rectangle"

बेशक, आप आयामों और रंगों को अनुकूलित करना चाहेंगे।


4

दो चरण है

1) इस फाइल को अपने ड्रॉबल फोल्डर में बनाएँ: - rounded_corner.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
         <corners android:radius="10dp" />  // set radius of corner
         <stroke android:width="2dp" android:color="#ff3478" /> // set color and width of border
         <solid android:color="#FFFFFF" /> // inner bgcolor
</shape>

2) इस फाइल TextViewको बैकग्राउंड प्रॉपर्टी के रूप में सेट करें ।

android:background="@drawable/rounded_corner"

आप इस drawable का उपयोग Button या Edittext में भी कर सकते हैं


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

    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="5dp" />
            <solid android:color="#ffffff"/>

        </shape>
    </item>
</layer-list>

2

सामग्री अवयव पुस्तकालय के साथ आप उपयोग कर सकते हैं MaterialShapeDrawable

एक के साथ TextView:

    <TextView
        android:id="@+id/textview"
        ../>

आप प्रोग्रामेटिक रूप से आवेदन कर सकते हैं MaterialShapeDrawable:

float radius = getResources().getDimension(R.dimen.corner_radius);

TextView textView = findViewById(R.id.textview);
ShapeAppearanceModel shapeAppearanceModel = new ShapeAppearanceModel()
        .toBuilder()
        .setAllCorners(CornerFamily.ROUNDED,radius)
        .build();

MaterialShapeDrawable shapeDrawable = new MaterialShapeDrawable(shapeAppearanceModel);
ViewCompat.setBackground(textView,shapeDrawable);

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

यदि आप पृष्ठभूमि रंग और बॉर्डर को बस लागू करना चाहते हैं:

shapeDrawable.setFillColor(ContextCompat.getColorStateList(this,R.color.....));
shapeDrawable.setStroke(2.0f, ContextCompat.getColor(this,R.color....));

0

आप राउंडिंग कोनों के लिए SVG का उपयोग कर सकते हैं और ImageView में लोड कर सकते हैं और TextView पर ImageView को लाने के लिए ConstraintLayout का उपयोग कर सकते हैं

मैंने इसका इस्तेमाल राउंड इमेजेज और राउंडेड टेक्स्ट व्यू के लिए किया


0

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

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