मुझे Android UI में एक गोल आयत खींचना है। के लिए समान गोल आयत होने TextView
और EditText
सहायक भी होगा।
मुझे Android UI में एक गोल आयत खींचना है। के लिए समान गोल आयत होने TextView
और EditText
सहायक भी होगा।
जवाबों:
अपने लेआउट में xml निम्न कार्य करें:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/holo_red_dark" />
<corners android:radius="32dp" />
</shape>
बदलकर android:radius
आप कोनों के "त्रिज्या" की मात्रा को बदल सकते हैं।
<solid>
का उपयोग ड्रॉबल के रंग को परिभाषित करने के लिए किया जाता है।
आप को बदलने के लिए उपयोग कर सकते android:radius
के साथ android:bottomLeftRadius
, android:bottomRightRadius
, android:topLeftRadius
और android:topRightRadius
हर कोने के लिए त्रिज्या परिभाषित करने के लिए।
मुझे लगता है, यह आपकी बिल्कुल जरूरत है।
यहाँ ड्रा करने योग्य (xml) फ़ाइल जो गोल आयत बनाती है। round_rect_shape.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#ffffff" />
<corners
android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp"
android:topLeftRadius="8dp"
android:topRightRadius="8dp" />
</shape>
यहाँ लेआउट फ़ाइल: my_layout.xml
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/round_rect_shape"
android:orientation="vertical"
android:padding="5dp" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Something text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#ff0000" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<requestFocus />
</EditText>
</LinearLayout>
-> उपरोक्त कोड में, रैखिकलेआउट की पृष्ठभूमि है (जो गोल आयताकार बनाने के लिए महत्वपूर्ण भूमिका है)। तो आप TextView, EditText ... जैसे किसी भी दृश्य को सभी के लिए राउंड आयत के रूप में बैकग्राउंड देखने के लिए जगह दे सकते हैं।
android:background="@drawable/round_rect_shape"
अपनी शैलियों में उपयोग करने में सक्षम होना चाहता हूं। एक्सएमएल, लेकिन एक और संपत्ति सेट करके विभिन्न पृष्ठभूमि रंगों का उपयोग करना। क्या प्रत्येक रंग के लिए एक समान आकर्षित बनाने के अलावा कोई विकल्प नहीं है?
इसमें monodroid
, आप इसे गोल आयत के लिए कर सकते हैं, और फिर इसे मूल वर्ग के रूप में रखते हुए, editbox
और अन्य लेआउट सुविधाएँ जोड़ी जा सकती हैं।
class CustomeView : TextView
{
public CustomeView (Context context, IAttributeSet ) : base (context, attrs)
{
}
public CustomeView(Context context, IAttributeSet attrs, int defStyle) : base(context, attrs, defStyle)
{
}
protected override void OnDraw(Android.Graphics.Canvas canvas)
{
base.OnDraw(canvas);
Paint p = new Paint();
p.Color = Color.White;
canvas.DrawColor(Color.DarkOrange);
Rect rect = new Rect(0,0,3,3);
RectF rectF = new RectF(rect);
canvas.DrawRoundRect( rectF, 1,1, p);
}
}
}
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle">
<solid android:color="@color/colorAccent" />
<corners
android:bottomLeftRadius="500dp"
android:bottomRightRadius="500dp"
android:topLeftRadius="500dp"
android:topRightRadius="500dp" />
</shape>
अब, आप इस आकृति का उपयोग किस तत्व में करना चाहते हैं:
android:background="@drawable/custom_round_ui_shape"
"Custom_round_ui_shape" नाम के ड्रॉबल में एक नया XML बनाएँ
राउंड आयत के लिए CardView का उपयोग करें । CardView कार्डकॉर्नररेडियस, कार्डबैकग्राउंडरक्लोर, कार्डएलेवेशन और कई तरह की कार्यक्षमता प्रदान करता है। CardView UI को अधिक उपयुक्त बनाता है और फिर कस्टम राउंड रेक्टेंगल को आकर्षित करता है।
आप ड्रॉबल्स फ़ोल्डर में एक नई xml पृष्ठभूमि को परिभाषित कर सकते हैं
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="enter_your_desired_color_here" />
<corners android:radius="enter_your_desired_radius_the_corners" />
</shape>
इसके बाद बस इसे अपने टेक्स्ट व्यू या एडिट टेक्स्ट में बैकग्राउंड में परिभाषित करके शामिल करें।
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="80dp"
android:background="YOUR_FILE_HERE"
Android:layout_weight="1"
android:gravity="center"
android:text="TEXT_HERE"
android:textSize="40sp" />
Right_click पर क्लिक करें और उदाहरण के लिए बटन के नाम पर नई लेआउट xml फ़ाइल बनाएँ_background.xml। फिर निम्नलिखित कोड को कॉपी और पेस्ट करें। आप अपनी जरूरत के अनुसार इसे बदल सकते हैं।
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners
android:radius="14dp" />
<solid android:color="@color/colorButton" />
<padding
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
android:top="0dp" />
<size
android:width="120dp"
android:height="40dp" />
</shape>
अब आप इसका उपयोग कर सकते हैं।
<Button
android:background="@drawable/button_background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/white" />
<corners android:radius="4dp" />
</shape>