我有ListView
在彼此旁边显示3 TextView
。问题是当屏幕尺寸小于行的宽度时。你可以在这里看到图片:
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/shareRow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/message_row_style"
android:layout_gravity="right"
android:gravity="right"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/dark_purple"
android:layout_gravity="right"
android:gravity="right" />
<TextView
android:id="@+id/txtDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/dark_purple"
android:layout_gravity="right"
android:paddingLeft="20dp"
android:gravity="right"
/>
<TextView
android:id="@+id/txtStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/dark_purple"
android:layout_gravity="right"
android:paddingLeft="20dp"
android:gravity="right" />
</LinearLayout>
答案 0 :(得分:2)
简单的解决方案:
集
android:layout_width="0dp"
android:layout_weight="1"
所有文字观点。
更优雅的解决方案是指定针对不同屏幕尺寸优化的不同布局。请阅读本文,尤其是关于屏幕大小配置限定符的部分。
http://developer.android.com/guide/practices/screens_support.html
然后,创建两个不同的布局,一个用于大屏幕,其中所有信息显示在一行中,一个布局用于具有三行的普通屏幕,每个布局显示一个文本视图。
答案 1 :(得分:1)
// try this
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/shareRow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/message_row_style"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtDescription"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="@color/dark_purple"
android:layout_weight="1"
android:gravity="right" />
<TextView
android:id="@+id/txtDate"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="@color/dark_purple"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:gravity="right"/>
<TextView
android:id="@+id/txtStatus"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="@color/dark_purple"
android:layout_weight="1"
android:layout_marginLeft="5dp"
android:gravity="right" />
</LinearLayout>