我正在尝试使用TableLayout创建一个4列显示。我已将列中的视图设置为WRAP_CONTENT以获取布局宽度。然后我输入一些测试值来查看结果。它不会缩小到设备屏幕的宽度,而是扩展到设备的边界之外。这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TableRow
android:layout_width="wrap_content"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/editText"
android:text="Player" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/editText2"
android:text="Player" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/editText3"
android:text="Player" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/editText4"
android:text="Player" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText5"
android:text="26" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText6"
android:text="26" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText7"
android:text="26" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:ems="10"
android:id="@+id/editText8"
android:text="26" />
</TableRow>
</TableLayout>
这就是我所期待的。我能得到这个的唯一方法是在布局宽度中放入特定的dp值。
我只想让4列填充到屏幕的可用宽度。有什么想法吗?
答案 0 :(得分:2)
这是因为xml android:ems="10"
属性中的TextView
。
尝试android:ems="5"
或更少
或强>
您可以使用
实现相同目的<TextView
android:layout_width="0dp"
android:layout_weight="0.25"
到所有TextView
。并将android:orientation="horizontal"
添加到TableRow
希望它能提供帮助。