我有一个ListView
使用自定义行布局,每个布局由TextView
水平的 6 个小部件组成。
即使在横向模式下,每一行都比大多数手机屏幕宽。
但在一些高端平板电脑上,行宽比横屏宽度要短。
如何检测屏幕比该ListView
行更宽,然后更改最后一个TextView
小部件的宽度以匹配屏幕宽度?
我不想让行默认变宽,因为它们对于普通设备来说太宽了。
我试图检查ListView
适配器getView()
方法中的宽度,但是所有宽度都是 0,甚至是convertView
宽度,布局膨胀后的事件。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/log_time"
android:layout_width="135dp"
android:layout_height="wrap_content"
android:padding="3dp"
android:textSize="14sp" >
</TextView>
<TextView
android:id="@+id/log_level"
android:layout_width="20dp"
android:layout_height="wrap_content"
android:padding="3dp"
android:textSize="14sp" >
</TextView>
<TextView
android:id="@+id/log_pid"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:padding="3dp"
android:textSize="14sp" >
</TextView>
<TextView
android:id="@+id/log_tid"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:padding="3dp"
android:textSize="14sp" >
</TextView>
<TextView
android:id="@+id/log_tag"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:padding="3dp"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="end"
android:textSize="14sp" >
</TextView>
<TextView
android:id="@+id/log_message"
android:layout_width="600dp"
android:layout_height="wrap_content"
android:padding="3dp"
android:maxLines="1"
android:singleLine="true"
android:ellipsize="end"
android:textSize="14sp" >
</TextView>
</LinearLayout>