我使用PullToRefreshListview显示文件夹列表,列表项布局使用自定义布局。
在列表项布局中,我使用RelativeLayout
作为根容器。
运行apk时,ListView
的布局在开始时工作正常,但是当点击进入丢失了子文件夹和文件的文件夹时会出现问题。
子文件夹布局搞砸了。奇怪的是,并非所有的子文件夹布局都变得凌乱,只有丢失文件和子子文件夹的子文件夹。 我通过安装了Kitkat OS的1280 * 720 pix,hdpi屏幕安卓设备测试了它。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="48dp" android:background="@color/white"
android:padding="10dp" >
<ImageView
android:id="@+id/list_item_icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp"
android:paddingBottom="4dp"
android:src="@drawable/folder" />
<ImageView
android:id="@+id/list_item_action"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginRight="2dp"
android:layout_marginEnd="2dp"
android:layout_width="60dp"
android:src="@drawable/folder"
android:layout_height="fill_parent" />
<TextView
android:id="@+id/list_item_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/list_item_icon"
android:layout_toEndOf="@id/list_item_icon"
android:layout_toStartOf="@id/list_item_action"
android:layout_toLeftOf="@id/list_item_action"
android:lines="1"
android:singleLine="true" android:text="list_item_titlelist_item_titlelist_item_titlelist_item_titlelist_item_titlelist_item_title"
android:textColor="#282828"
android:textSize="14sp" />
<TextView
android:id="@+id/list_item_subtitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/list_item_title"
android:layout_toRightOf="@id/list_item_icon"
android:layout_toLeftOf="@id/list_item_action"
android:layout_toEndOf="@id/list_item_icon"
android:layout_toStartOf="@id/list_item_action"
android:textColor="#555555" android:text="list_item_titlem_titlelist_item_title"
android:textSize="12sp" />
</RelativeLayout>
答案 0 :(得分:1)
试试这个。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="48dp"
android:background="@color/white"
android:padding="10dp" >
<ImageView
android:id="@+id/list_item_icon"
android:layout_width="60dp"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/folder" />
<ImageView
android:id="@+id/list_item_action"
android:layout_width="60dp"
android:layout_height="fill_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/folder" />
<TextView
android:id="@+id/list_item_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/list_item_action"
android:layout_toRightOf="@id/list_item_icon"
android:gravity="left"
android:lines="1"
android:paddingLeft="8dp"
android:singleLine="true"
android:text="list_item_titlelist_item_titlelist_item_titlelist_item_titlelist_item_titlelist_item_title"
android:textColor="#282828"
android:textSize="14sp" />
<TextView
android:id="@+id/list_item_subtitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/list_item_title"
android:layout_below="@id/list_item_title"
android:layout_toLeftOf="@+id/list_item_action"
android:gravity="left"
android:paddingLeft="8dp"
android:text="list_item_titlem_titlelist_item_title"
android:textColor="#555555"
android:textSize="12sp" />
</RelativeLayout>
答案 1 :(得分:0)
使用LinearLayout而不是RelativeLayout,可以轻松完成您的要求:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/white"
android:padding="10dp" >
<ImageView
android:id="@+id/list_item_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/folder" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/list_item_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:lines="1"
android:singleLine="true"
android:text="list_item_titlelist_item_titlelist_item_titlelist_item_titlelist_item_titlelist_item_title"
android:textColor="#282828"
android:textSize="14sp" />
<TextView
android:id="@+id/list_item_subtitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#555555"
android:text="list_item_titlem_titlelist_item_title"
android:textSize="12sp" />
</LinearLayout>
<ImageView
android:id="@+id/list_item_action"
android:layout_width="60dp"
android:src="@drawable/folder"
android:layout_height="match_parent" />
</LinearLayout>