2

TableLayoutで設定レイアウトを行っています。そして、すべての行が画面をいっぱいにしています。そして、画像の方が理解しやすいので、ここに状況があります:

ここに画像の説明を入力

以下はレイアウト コードの一部です (行がたくさんあるため、すべてを入れたわけではありませんが、すべて同じです)。

<?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

4

2 に答える 2

2

同意しません。これで問題が解決した可能性がありますが、線形レイアウトをテーブル レイアウトに変更しても、テーブル レイアウトは修正されません。
試す

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

これにより、画面に合わせてどの列を拡大/縮小するかがアプリに通知されます。

于 2014-02-13T03:05:38.167 に答える
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">
于 2012-10-29T16:10:10.440 に答える