我在安排tablelayout时遇到了一些问题。我编写XML的方式似乎没有显示,因为我认为它应该出现在屏幕上。我希望我的第一个tablerow的每一列的大小相等,其内容居中,但我得到的是前两列大于后两列。
我的XML代码:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:screenOrientation="portrait"
android:animateLayoutChanges="true"
tools:context=".SettingsActivity" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/lblIP"
android:layout_weight="1"
android:gravity="center"
android:text="@string/ip" />
<EditText
android:id="@+id/txtIP"
android:layout_weight="1"
android:gravity="center"
android:inputType="phone"
android:text="@string/ip_address" >
</EditText>
<TextView
android:id="@+id/lblPort"
android:layout_weight="1"
android:gravity="center"
android:text="@string/port" />
<EditText
android:id="@+id/txtPort"
android:layout_weight="1"
android:gravity="center"
android:inputType="number" />
</TableRow>
如何出现:
答案 0 :(得分:1)
尝试将android:layout_width
属性设置为0dp
并将android:layout_weight
保留为1
儿童观点
答案 1 :(得分:1)
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="4" >
<TextView
android:id="@+id/lblIP"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/ip" />
<EditText
android:id="@+id/txtIP"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center"
android:inputType="phone"
android:text="@string/ip_address" >
</EditText>
<TextView
android:id="@+id/lblPort"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center"
android:text="@string/port" />
<EditText
android:id="@+id/txtPort"
android:layout_width="0dp"
android:layout_weight="1"
android:gravity="center"
android:inputType="number" />
</TableRow>