我在一个定义为android:theme="@android:style/Theme.Dialog"
这是ListView每行的XML。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:paddingLeft="10dp"
android:id="@+id/appname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="Large Text"
android:textColor="#0000EE"
android:textAppearance="?android:attr/textAppearanceMedium" />
<ImageView
android:paddingLeft="10dp"
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/contentedit" />
<ImageView
android:layout_marginLeft="10dp"
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/edit"
android:src="@drawable/contentdiscard" />
</RelativeLayout>
当文字稍长时,我会发现文字与图标的重叠重叠。
请问我该如何解决?
答案 0 :(得分:0)
使用此功能。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/appname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:paddingLeft="10dp"
android:singleLine="true"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#0000EE" />
<ImageView
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/contentedit" />
<ImageView
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@+id/edit"
android:src="@drawable/contentdiscard" />
</RelativeLayout>
答案 1 :(得分:0)
使用带有权重的LinearLayout
和属性ellipsize
&amp; lines
如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/appname"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:lines="1"
android:paddingLeft="10dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#0000EE" />
<ImageView
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:src="@drawable/contentedit" />
<ImageView
android:id="@+id/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:src="@drawable/contentdiscard" />
</LinearLayout>
答案 2 :(得分:0)
较小的文字可行。小图标也是如此。您可能还允许文本换行到多行并增加每个项目的高度。您可能尝试的另一件事是在文本视图上设置ellipsize - 任何大的东西都会被裁剪,并在末尾放置一个“...”。
您还可以删除删除/编辑图标并使用上下文菜单 - 选择一个网站,然后显示图标
只有很多方法可以在很小的屏幕上显示大量内容。