【发布时间】:2011-02-21 12:07:23
【问题描述】:
我想在我的列表视图周围加上几个像素宽的边框。我希望它绕过整个列表视图。我怎样才能做到这一点?谢谢
【问题讨论】:
我想在我的列表视图周围加上几个像素宽的边框。我希望它绕过整个列表视图。我怎样才能做到这一点?谢谢
【问题讨论】:
另一种方法是创建一个可以重复使用的边框资源,这也意味着您不需要创建额外的布局来实现它。
创建可绘制资源
<?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 并为该线性布局分配一些颜色,然后在该线性布局中获取一个列表视图。为列表视图设置android:layout_margin="10dp" 属性。这意味着在所有 4 个面上都将留下 10dp 的空间。这显示为列表视图的边框。
【讨论】:
最简单的方法:
<ListView android:id="@+id/listView1" android:layout_width="match_parent" android:layout_height="0dp" android:divider="#FFCC00" android:dividerHeight="2dp" android:layout_weight="1" />
【讨论】:
listview 分隔符
您应该使用9 Patch 图像。它们允许您创建您喜欢的任何类型的背景,包括边框。该链接解释了一切。验证这里是bordered list 的图像。
Here 是我用来制作边框的 9 个补丁图像的图像。
【讨论】:
虽然这个问题发布了很长时间,但希望它可以帮助新人!
在你项目的drawable文件夹下创建back.xml!!!
<?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>
用户界面将如下所示:
【讨论】: