我如何创build一个Android LinearLayout的边框?

我有一个大的布局,一个更小的布局里面。

如何在小布局周围创build线边框?

当然。 你可以添加一个边框到你想要的任何布局。 基本上,你需要创build一个自定义的drawable,并把它作为背景添加到你的布局中。 例:

在您的可绘制文件夹中创build一个名为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"> 

这应该够了吧。

另请参阅:

在可绘制文件夹中创build名为border.xml的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" 

在可绘制文件夹中创build一个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到你的小布局背景

机器人:背景= “@绘制/ yourxml”

尝试这个:

例如,让我们将res / drawable / my_custom_background.xml定义为:

(在你的drawable文件夹中创build这个布局)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> 

这个解决scheme只会添加边框,LinearLayout的主体将是透明的。

首先,在可绘制文件夹border.xml创build这个可绘制的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);