Как создать границу вокруг Android LinearLayout?

У меня есть один большой макет и один макет внутри.

Как создать границу строки вокруг макета?

Solutions Collecting From Web of "Как создать границу вокруг Android LinearLayout?"

Конечно. Вы можете добавить границу для любого макета, который вы хотите. В принципе, вам нужно создать пользовательский чертеж и добавить его в качестве фона для вашего макета. пример:

Создайте файл с именем 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"> 

Это должно делать свое дело.

Также см:

Создайте XML, называемый 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"> <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> 

Затем добавьте это в линейную компоновку как backgound как это:

  android:background="@drawable/border" 

Создайте один 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 на свой макет фона

Android: фон = "@ вытяжка / yourxml"

Попробуй это:

Например, давайте определим 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> 

Это решение добавит только границу, тело LinearLayout будет прозрачным.

Во-первых, создайте эту рамку, которая может быть border.xml папке, 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 View добавьте 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);