您的位置:首页 > 移动开发 > Android开发

android中listview中设计左图标

2013-07-01 17:44 302 查看
在listview中,如果做成一个象下图那样的列表,每个列表项的前面有一个小的图形呢?
比如如下图:


可以这样做:
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));
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: