我想在我的列表视图周围放置一个几个像素宽的边框,我希望它能够包围整个列表视图部分。我该如何做到这一点?谢谢。
创建一个可绘制资源
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<!-- use this for transparent -->
<!-- <solid android:color="#00000000" /> -->
<!-- use this for a background colour -->
<solid android:color="#FFF" />
<stroke android:width="2dip" android:color="#FF0000" />
</shape>
然后将其设置为列表视图的背景。<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/border_ui" />
首先,创建一个LinearLayout,为其分配一些颜色,并在该LinearLayout中创建一个ListView。为ListView设置android:layout_margin="10dp"
属性,这意味着将在四个方向上留下10dp的空间,这将显示为ListView的边框。
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:divider="#FFCC00"
android:dividerHeight="2dp"
android:layout_weight="1" />
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<!-- use this for transparent -->
<!-- <solid android:color="#00000000" /> -->
<!-- use this for a background colour -->
<solid android:color="#FFF" />
<stroke android:width="4dip" android:color="#FFCC00" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/colorWhite"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header"
android:textSize="40dp" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
**android:background="@drawable/back"** />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/colorWhite"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Header"
android:textSize="40dp" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/back"
android:divider="#FFCC00"
android:dividerHeight="2dp"/>
</LinearLayout>
UI将会出现如下:
您应该使用9 Patch图像。它们允许您创建任何类型的背景,包括边框。链接中解释了所有内容。为了验证,这是一个bordered list的图片。
这里是我用来制作边框的9 Patch图像。