我的TableLayout包含每个包含一个子项的TableRows。
TableLayout width设置为match_parent并且正常工作。
TableRow的宽度自动设置为match_parent,也可以正常工作。
但是,TableRow的子节点不会拉伸到TableRow的整个宽度,尽管width设置为match_parent。
我错过了什么?感谢
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:typefacetv="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#772213" >
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/my_gray"
android:focusable="true"
android:focusableInTouchMode="true"
android:padding="0dp" >
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="3dp"
android:text="@string/LODGING_NAME" />
</TableRow>
<TableRow>
<EditText
android:id="@+id/et_hotel_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/borderless_white_5dp"
android:inputType="text"
android:padding="5dp" />
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:text="@string/STARS" />
<!-- <EditText
android:id="@+id/et_hotel_classtype"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/borderless_white_5dp"
android:inputType="number"
android:padding="5dp" /> -->
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:padding="5dp"
android:text="@string/ADDRESS" />
</TableRow>
<TableRow>
<EditText
android:id="@+id/et_hotel_address"
android:layout_width="match_parent"
android:background="@drawable/borderless_white_5dp"
android:inputType="text"
android:padding="5dp" />
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:padding="5dp"
android:text="@string/PHONE" />
<!-- <TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="1dp"
android:padding="5dp"
android:text="@string/FAX" /> -->
</TableRow>
<TableRow>
<EditText
android:id="@+id/et_hotel_phone"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/borderless_white_5dp"
android:inputType="phone"
android:padding="5dp" />
<!-- <EditText
android:id="@+id/et_hotel_fax"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/borderless_white_5dp"
android:inputType="phone"
android:padding="5dp" /> -->
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/EMAIL" />
</TableRow>
<TableRow>
<EditText
android:id="@+id/et_hotel_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/borderless_white_5dp"
android:inputType="textWebEmailAddress"
android:padding="5dp" />
</TableRow>
<TableRow>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:text="@string/WWW" />
</TableRow>
<TableRow>
<EditText
android:id="@+id/et_hotel_website"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/borderless_white_5dp"
android:inputType="textUri"
android:padding="5dp" />
</TableRow>
</TableLayout>
</ScrollView>
<Button
android:id="@+id/save_hotel_info"
android:layout_width="match_parent"
android:layout_height="@dimen/button_typical_height"
android:layout_gravity="bottom"
android:background="@color/my_dark_gray"
android:onClick="storeHotelInfo"
android:text="@string/SAVE"
android:textColor="@color/white" />
答案 0 :(得分:2)
将元素的宽度设置为0dp,如android:layout_width =&#34; 0dp&#34;并使用android:layout_weight =&#34; 1&#34;如下面的代码
<EditText
android:id="@+id/et_hotel_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="text" />
希望这对你有用。
答案 1 :(得分:0)
尝试将所有观看的宽度更改为0dp
,并为每个1
分配权重,并添加每个TableRow
的高度和宽度属性,如下所示:
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/et_hotel_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/borderless_white_5dp"
android:inputType="text"
android:padding="5dp" />
</TableRow>
对所有行执行相同的操作。