TableLayout按钮比屏幕大

时间:2012-09-19 09:06:21

标签: android-layout

我正在使用TableLayout进行设置布局。而我的所有行都在屏幕上溢出。而且因为图像更容易理解,所以情况如下:

enter image description here

这是布局代码的一部分(我没有把所有东西放在一边,因为有很多行,都是一样的):

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ScrollView01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:isScrollContainer="true"
        android:orientation="vertical"
        android:scrollbarAlwaysDrawVerticalTrack="true"
        android:scrollbars="vertical">

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:id="@+id/textIpBox"
                android:text="@string/ipAddress" />

        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <View
                android:id="@+id/dividerIpbox"
                android:background="@android:drawable/divider_horizontal_dim_dark" />

        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <TextView
                android:id="@+id/textPortSend"
                android:text="@string/sendPort" />

        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <EditText
                android:id="@+id/entryPortSend"
                android:inputType="number"
                android:background="@android:drawable/editbox_background" />

        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <View
                android:id="@+id/dividerPortSend"
                android:background="@android:drawable/divider_horizontal_dim_dark" />

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <Spinner
                android:id="@+id/spinner"
                android:prompt="@string/home_page" />

        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <TextView
                android:id="@+id/textCurrentWifi"
                android:text="@string/currentWifi" />

        </TableRow> 

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >

            <Button
                android:id="@+id/buttonSave"
                android:text="@string/validate" />
        </TableRow>

    </TableLayout >

</ScrollView>

我在android:layout_width="fill_parent"周围遗漏了一些东西,但我看不清楚。

当我的所有layout_width都设置为fill_parent

时,我不太明白为什么它不起作用

2 个答案:

答案 0 :(得分:2)

我不同意。这可能已经解决了问题,但是将线性布局更改为表格布局并不能解决表格布局问题 尝试

android:stretchColumns = "1,2,3"
android:shrinkColumns = "1,2,3"

这将告诉应用哪些列应该展开/缩小以适应屏幕。

答案 1 :(得分:1)

我发现了问题,请尝试将TableLayout更改为LinearLayout

<LinearLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:isScrollContainer="true"
    android:orientation="vertical"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:scrollbars="vertical">