それぞれが水平方向ListView
に 6 つのウィジェットで構成されるカスタム行レイアウトを使用しています。
各行は、ランドスケープ モードであっても、ほとんどの携帯電話の画面よりも幅が広くなっています。
ただし、一部のハイエンド タブレットでは、行の幅が横画面の幅よりも短くなります。 TextView
画面が行よりも広いことを検出しListView
、最後のTextView
ウィジェットの幅を画面の幅に合わせて変更するにはどうすればよいですか?
通常のデバイスでは幅が広すぎるため、デフォルトで行を広くしたくありません。アダプターメソッドで
幅を確認しようとしましたが、すべての幅が 0 であり、レイアウトのインフレーション後のイベントでもあります。ListView
getView()
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>