我如何创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">
这应该够了吧。
另请参阅:
- http://tekeye.biz/2012/add-a-border-to-an-android-layout
- 除了底部,如何在线性布局上添加边框?
在可绘制文件夹中创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);