我在线性布局中有一个表格布局 在表格行中按下3个按钮后,最后一个按钮离开屏幕 我的意思是3个按钮不适合屏幕宽度 我该怎么办?
这是代码
<TableLayout
android:id="@+id/buttonTableLayout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:stretchColumns="0,1,2"
android:layout_weight="1">
<TableRow
android:id="@+id/tableRow0"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TableRow>
</TableLayout>
答案 0 :(得分:0)
TableRow不会检查其内容是否适合屏幕尺寸。我猜你的按钮占据了所有空间,因此最后的按钮位于屏幕之外。
我可以想到这个问题的2个解决方案:
对每个按钮使用权重为LinearLayout:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:layout_weight="1.0" />
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:layout_weight="1.0" />
</LinearLayout>
当然,您也可以通过编程方式执行此操作。 有关权重的更多信息,请访问:https://developer.android.com/guide/topics/ui/layout/linear.html
使用Flow-Layout。它会自动检查您的视图是否适合当前行,如果没有足够的空间,则将它们放在下一行中。我自己使用的一个好的开源库就是这个:https://github.com/ApmeM/android-flowlayout