मेरे पास एक बड़ा लेआउट है, और इसके अंदर एक छोटा लेआउट है।
मैं छोटे लेआउट के चारों ओर एक लाइन बॉर्डर कैसे बनाऊं?
मेरे पास एक बड़ा लेआउट है, और इसके अंदर एक छोटा लेआउट है।
मैं छोटे लेआउट के चारों ओर एक लाइन बॉर्डर कैसे बनाऊं?
जवाबों:
ज़रूर। आप अपनी इच्छानुसार किसी भी लेआउट में एक सीमा जोड़ सकते हैं। मूल रूप से, आपको एक कस्टम ड्रॉबल बनाने और पृष्ठभूमि के रूप में इसे अपने लेआउट में जोड़ने की आवश्यकता है। उदाहरण:
customborder.xml
अपने ड्रा करने योग्य फ़ोल्डर में एक फ़ाइल बनाएं :
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="20dp"/>
<padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
<stroke android:width="1dp" android:color="#CCCCCC"/>
</shape>
अब इसे अपने छोटे लेआउट की पृष्ठभूमि के रूप में लागू करें:
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/customborder">
यह ट्रिक काम आना चाहिए।
और देखें:
<solid/>
और <stroke/>
पूरी आयत भरें? क्या यह मेरे कोड में एक बग है?
नीचे दिए गए ड्राफ़्ट फोल्डर में XML को बॉर्डर कहा जाता है।
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#FF0000" />
</shape>
</item>
<item android:left="5dp" android:right="5dp" android:top="5dp" >
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
</layer-list>
फिर इसे रैखिक लेआउट में इस तरह जोड़ें:
android:background="@drawable/border"
इसे इस्तेमाल करे:
उदाहरण के लिए, हम res / drawable / my_custom_background.xml को इस प्रकार परिभाषित करते हैं:
(अपने लेआउट फ़ोल्डर में इस लेआउट बनाएँ) layout_border.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke android:width="2dp" android:height="2dp"
android:color="#FF0000" />
<solid android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
android:bottom="1dp" />
<corners android:radius="1dp" android:bottomRightRadius="5dp"
android:bottomLeftRadius="0dp" android:topLeftRadius="5dp"
android:topRightRadius="0dp" />
</shape>
</item>
</layer-list>
main.xml
<LinearLayout
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/layout_border" />
</LinearLayout>
ड्रा करने योग्य फ़ोल्डर में एक xml फ़ाइल बनाएँ
<stroke
android:width="2dp"
android:color="#B40404" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
<corners android:radius="4dp" />
अब इस xml को अपने छोटे लेआउट बैकग्राउंड पर कॉल करें
एंड्रॉयड: पृष्ठभूमि = "@ drawable / yourxml"
यह समाधान केवल सीमा को जोड़ देगा, रैखिकलेयूट का शरीर पारदर्शी होगा।
सबसे पहले, इस सीमा को ड्रा करने योग्य फ़ोल्डर में बनाएं, border.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android= "http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="2dp" android:color="#ec0606"/>
<corners android:radius="10dp"/>
</shape>
फिर, अपने LinearLayout दृश्य में, इस तरह की पृष्ठभूमि के रूप में border.xml जोड़ें
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/border">
आप इसे व्यावहारिक रूप से भी कर सकते हैं
GradientDrawable gradientDrawable=new GradientDrawable();
gradientDrawable.setStroke(4,getResources().getColor(R.color.line_Input));
फिर लेआउट की पृष्ठभूमि इस प्रकार सेट करें:
LinearLayout layout = (LinearLayout ) findViewById(R.id.ayout); layout .setBackground(gradientDrawable);
मैं अन्य उत्तरों में Android डॉक्स लिंक जोड़ूंगा।
https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
यह शेप ड्रॉएबल और stroke
उनमें से बॉर्डर सेट करने की सभी विशेषताओं का वर्णन करता है ।
उदाहरण:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="1dp" android:color="#F00"/>
<solid android:color="#0000"/>
</shape>
पारदर्शी पृष्ठभूमि के साथ लाल सीमा।
एक आकर्षित करने योग्य संसाधन नहीं बनाना चाहते हैं?
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/black"
android:minHeight="128dp">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="1dp"
android:background="@android:color/white">
<TextView ... />
</FrameLayout>
</FrameLayout>
अपने रेस / ड्रॉबल में इसे आज़माएं
<?xml version="1.0" encoding="UTF-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape
android:shape="rectangle">
<padding android:left="15dp"
android:right="15dp"
android:top="15dp"
android:bottom="15dp"/>
<stroke android:width="10dp"
android:color="@color/colorPrimary"/>
</shape>
</item><item android:left="-5dp"
android:right="-5dp"
android:top="-5dp"
android:bottom="-5dp">
<shape android:shape="rectangle">
<solid android:color="@color/background" />
</shape></item></layer-list>