使用图像,文本和EditText完全填充表格行空间

时间:2015-04-04 12:48:21

标签: android

我有一个固定大小的图像按钮,文本和EditText,我想填充整个表格行。图像按钮大小为100x100,这意味着我希望文本和编辑文本占据行中的其余空间。

我想出了以下代码。但是没有使用完整的行空间。

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <ImageButton
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:id="@+id/imageButton" />

            <LinearLayout
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1">

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:text="Medium Text"
                    android:id="@+id/textView" />

                <EditText
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:id="@+id/editText" />
            </LinearLayout>
        </LinearLayout>
    </TableRow>
</TableLayout>

专家,请帮忙。

2 个答案:

答案 0 :(得分:0)

见以下版本

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <ImageButton
                android:layout_width="100dp"
                android:layout_weight="1"
                android:layout_height="100dp"
                android:id="@+id/imageButton" />

            <LinearLayout
                android:layout_weight="1"
                android:orientation="vertical"
                android:layout_width="0dp"
                android:layout_height="fill_parent">

                <TextView
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:text="Medium Text"
                    android:id="@+id/textView" />

                <EditText
                    android:layout_weight="1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:id="@+id/editText" />
            </LinearLayout>
        </LinearLayout>
    </TableRow>
</TableLayout>

答案 1 :(得分:0)

我尝试设置android:layout_weight =&#34; 1&#34;对于最外面的Horizo​​ntal LinearLayout。我得到了我期望的行为。