こちらのXMLコードをご覧ください:
<TableLayout
Android:id="@+id/tableLayout1"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:padding="10dip"
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<TableRow
Android:id="@+id/tableRow1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
<!-- Some stuff goes here -->
/>
</TableRow>
<TableRow
Android:id="@+id/tableRow2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
<!-- Some stuff goes here -->
/>
</TableRow>
<TableRow
Android:id="@+id/tableRow3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
<!-- Some stuff goes here -->
/>
</TableRow>
</TableLayout>
私のコードははるかに長いですが、不要な部分を削除しただけです。問題は、このTableLayout
をスクロール可能にして、すべてのものを表示できるようにすることです。
スクロール可能にするために、この行をTableLayout
に入れようとしました:
Android:isScrollContainer="true"
しかし、それは仕事をしません。 方法はありますか?
すべてを次のものに入れます。
<ScrollView
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:scrollbars="none"
Android:layout_weight="1">
<LinearLayout
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:orientation="vertical">
...
</ScrollView>
ScrollViewにLinearLayoutは技術的には必要ありません。
<ScrollView
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:scrollbars="none"
Android:layout_weight="1">
<TableLayout
Android:id="@+id/tableLayout1"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:padding="10dip"
Android:isScrollContainer="true">
<TableRow
Android:id="@+id/tableRow1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content">
<--!Everything Else You Already Have-->
</TableRow>
</TableLayout>
</ScrollView>
ScrollView内で十分なスペースを確保すると、スクロール効果がアクティブになります(HTML TextAreaのようなもので、十分なテキスト行があれば、スクロールがアクティブになります)。
ScrollViewをネストすることもできますが、ScrollViewに十分なコンテンツがあるまで、スクロール効果を感じることはできません。
Constraint Layout内でも機能します。次の属性をTabLayoutに追加するだけです。
<Android.support.constraint.ConstraintLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<TableLayout
Android:id="@+id/tableLayout"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:isScrollContainer="true">
. . .
ありがとうmbauerそれは私の問題を解決した