在listview中,如果做成一个象下图那样的列表,每个列表项的前面有一个小的图形呢?
比如如下图:
[img]
http://pareshnmayani.files.wordpress.com/2011/11/bulleted-listview.png
[/img]
可以这样做:
main.xml
<?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:orientation="vertical"
android:padding="10dp">
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:listSelector="@android:color/transparent"
android:divider="@null"/>
</LinearLayout>
listview中每个项的样式文件
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/itemText"
android:drawableLeft="@drawable/bullet"
android:drawablePadding="8dp"
android:padding="5dp"
android:textSize="20sp"
android:text="List Item"/>
注意这里是android:drawableLeft="@drawable/bullet"
指定了左边的小图形是在drawable目录下的bullet.xml中的样式
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="6dp"
android:height="6dp"/>
<solid
android:color="#FF00F0"/>
</shape>
最后的主程序
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GetArrayList();//获得一个列表数组,比如得到一个listCountry数组
ListView listView = (ListView)findViewById(R.id.listView);
listView.setAdapter(new ArrayAdapter<String>(
this, R.layout.list_item, listCountry));
}