如何设置布局宽度以在不同的屏幕尺寸中查看相同的布局宽度

时间:2013-11-11 09:17:04

标签: android android-layout listview

我有ListView在彼此旁边显示3 TextView。问题是当屏幕尺寸小于行的宽度时。你可以在这里看到图片: http://upload.tehran98.com/upme/uploads/9b7b38b3e2340ea31.png

这是我的布局:

<?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>

2 个答案:

答案 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>