1

私はgoogleとstackoverflowを徹底的に検索しましたが、私が得た唯一の答えは: set each Tablerowwith layout weight = "1". これは機能しません。

これで a に8 つの行がありTableLayout、それぞれに 5 が含まれていますLinearLayouts。各 LinearLayouts には 2 が含まれてTextViewsおり、からまでFontSizes変化します。TextViewTextView

含まれている の Fontsizes に応じて、TableRows の高さが異なることがわかりTextViewsます。奇妙なことに、TableRows の layout_height を「0dp」に設定しても、「match_parent」または「fill_parent」に設定しても、レイアウトには影響しません。

TableRowsを強制的に同じ高さにするにはどうすればよいですか? tableRows は画面全体を均等に分割する必要があるため、特定の pts 値を高さとして使用したくありません。

以下は xml の一部です。実際のファイルは巨大です。

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="6"
    android:weightSum="8"
    tools:context=".MainActivity" >

    <TableRow
        android:layout_width="match_parent"
        android:layout_weight="1"
        tools:context=".MainActivity">

        <LinearLayout
            android:clickable="true"
            android:orientation="vertical"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginTop="@dimen/btnmargintop"
            android:layout_marginBottom="@dimen/btnmarginbot"
            android:layout_marginLeft="@dimen/btnmarginleft"
            android:layout_marginRight="@dimen/btnmarginright"
            android:layout_weight="1"
            android:background="@drawable/bg" >

            <myapp.TypefacedTextView
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="@integer/layoutweight1"
                android:layout_gravity="center"
                stevens:typeface="myfont.otf"
                android:clickable="false"
                android:textSize="@dimen/fontsize1" />
            <myapp.TypefacedTextView
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="@integer/layoutweight2"
                android:layout_gravity="center"
                stevens:typeface="myfont.otf"
                android:clickable="false"
                android:textSize="@dimen/fontsize2" />              
        </LinearLayout>
4

1 に答える 1

0

タブのレイアウトを内部のコンテンツのサイズに合わせて自動的に調整している可能性があります。物事を解決するには、次の 2 つの方法があります。

  • すべての要素が同じサイズであることを確認してください。ただし、表全体について心配する必要はありません。内部の要素の寸法が同じであることを確認してください。
  • または、単純に親レイアウトの高さを設定し、要素に影響を与えないようにします。このソリューションの問題点は、内部が大きくなるとスペースがなくなるため、最初のオプションに固執することをお勧めします。
于 2013-02-28T14:21:32.127 に答える