Android listView作为来自iPhone的listView

Mil*_*loš 3 iphone android android-listview

我想实现一个类似于iPhone的ListView. 这是图像

表格的第一个元素是图像,其他元素是文本加箭头.

我知道如何使用自定义图像适配器,但仅用于唯一的自定义,而不是自定义每一行.

该信息是静态的,我应该只能点击所需的元素.

非常感谢你.

Mil*_*loš 5

我找到了解决方案,

我可以使用标题列表视图和自定义边框.这是一个例子:

drawable文件夹中的listview_border.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke android:width="4dp" android:color="#FFFFFFFF" />
<padding android:left="7dp" android:top="7dp"
        android:right="7dp" android:bottom="7dp" />
<corners android:radius="15dp" />
<solid android:color="#FFFFFFFF"/>
</shape> 
Run Code Online (Sandbox Code Playgroud)

对于列表视图,设置:

 android:background="@drawable/listview_border"
Run Code Online (Sandbox Code Playgroud)

然后对于hedser,在布局中创建listviaw_header.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

   <ImageView
       android:id="@+id/imageView1"
       android:layout_width="128dp"
       android:layout_height="wrap_content"
       android:src="@drawable/contact_image_fr"
       android:layout_marginLeft="10dp" />

</LinearLayout> 
Run Code Online (Sandbox Code Playgroud)

然后设置标题:

ListView contact = (ListView) findViewById(R.id.contactListView);


    View header = getLayoutInflater().inflate(R.layout.contact_listview_header, null);

    contact.addHeaderView(header);  
Run Code Online (Sandbox Code Playgroud)

就这样.请享用...