使用stretchColumns约束两列TableLayout

时间:2011-10-14 20:19:50

标签: android tablelayout android-ui

我有这个布局,

    <TableLayout android:stretchColumns="0"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TableRow>
            <AutoCompleteTextView
                    android:id="@+id/StationTextView"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:completionThreshold="2"
                    android:inputType="textAutoComplete"
                    android:imeOptions="flagNoExtractUi|actionSearch" />
            <Button android:id="@+id/ShowTimesButton"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:drawableLeft="@drawable/ic_btn_search" />
    </TableRow>
</TableLayout>

从一开始,一切都如我所愿,例如textview占用了按钮不占用的所有空间。但是如果textview被一个长字符串填满,它会将按钮从屏幕上移开,我希望布局在屏幕内受到限制,并且永远不会将内容从屏幕上移开。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

尝试在布局中使用重量:

<TableLayout android:stretchColumns="0" android:layout_width="fill_parent" android:layout_height="wrap_content">
    <TableRow android:gravity="center_vertical">
        <AutoCompleteTextView android:id="@+id/StationTextView" 
                                android:layout_height="wrap_content"
                                android:completionThreshold="2" 
                                android:inputType="textAutoComplete" 
                                android:imeOptions="flagNoExtractUi|actionSearch" 
                                android:layout_weight="1" android:layout_width="0dp"/>
        <Button android:id="@+id/ShowTimesButton" 
                android:layout_height="wrap_content" 
                android:drawableLeft="@drawable/ic_btn_search" 
                android:layout_weight="0" android:layout_width="wrap_content"/>
    </TableRow>
</TableLayout>