Android - 删除 TableLayout 行之间的空间
Posted
技术标签:
【中文标题】Android - 删除 TableLayout 行之间的空间【英文标题】:Android - Removing space between TableLayout Rows 【发布时间】:2021-12-28 03:59:19 【问题描述】:我想在按钮“0”和按钮“1”之间删除。我的目标是它们之间的空间与按钮“X”相同。 UI result
这些解决方案不起作用:
How to remove space between two rows in Tablelayout?
How to reduce space between two rows of Table Layout for android?
此外,按钮“X”应该跨越两行,只有当我输入更大的 textSize
时才会这样做。
<TableLayout
android:layout_
android:layout_>
<TableRow>
<TableLayout android:layout_
android:layout_
android:layout_weight="1">
<TableRow android:layout_
android:layout_
android:layout_weight="1"
android:layout_margin="0sp"
android:padding="0sp">
<com.google.android.material.button.MaterialButton
android:layout_
android:layout_
android:layout_weight="1"
android:text="0"
android:layout_margin="2sp"
/>
</TableRow>
<TableRow
android:layout_
android:layout_
android:layout_weight="1"
android:layout_margin="0sp"
android:padding="0sp">
<com.google.android.material.button.MaterialButton
android:layout_
android:layout_
android:layout_weight="1"
android:text="1"
android:layout_margin="2sp"
/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_
android:layout_
android:layout_weight="1"
android:layout_margin="0sp"
android:padding="0sp">
<TableRow>
<com.google.android.material.button.MaterialButton
android:layout_
android:layout_
android:layout_weight="1"
android:text="X"
android:layout_margin="2sp"
/>
</TableRow>
</TableLayout>
</TableRow>
</TableLayout>
提前感谢您的任何想法。
【问题讨论】:
【参考方案1】:我用嵌套的TableLayout
尝试了您的方法,但未能完全删除空间。按钮属性insetTop
和insetBottom
删除了一些空间。您可以使用嵌套较少的布局使用不同的方法:
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<TableRow
android:layout_
android:layout_>
<Button
android:id="@+id/button"
android:layout_
android:layout_
android:layout_weight="0.5"
android:insetBottom="0dp"
android:text="1" />
<Button
android:id="@+id/button2"
android:layout_
android:layout_
android:layout_weight="0.5"
android:insetBottom="0dp"
android:text="X" />
</TableRow>
<TableRow
android:layout_
android:layout_ >
<Button
android:id="@+id/button3"
android:layout_
android:layout_
android:layout_weight="0.5"
android:insetTop="0dp"
android:text="Button" />
<Space
android:layout_
android:layout_
android:layout_weight="0.5" />
</TableRow>
</TableLayout>
【讨论】:
非常感谢。有了insetBottom
和insetTop
,我终于明白了。 :)【参考方案2】:
你可以这样做
<TableLayout
android:layout_
android:layout_>
<TableRow>
<TableLayout
android:layout_
android:layout_
android:layout_weight="1">
<TableRow
android:layout_
android:layout_
android:layout_weight="1"
android:padding="0sp">
<com.google.android.material.button.MaterialButton
android:layout_
android:layout_
android:layout_weight="1"
android:text="0" />
</TableRow>
<TableRow
android:layout_
android:layout_
android:layout_weight="1"
android:padding="0sp">
<com.google.android.material.button.MaterialButton
android:layout_
android:layout_
android:layout_weight="1"
android:text="1" />
</TableRow>
</TableLayout>
<com.google.android.material.button.MaterialButton
android:layout_
android:layout_
android:layout_weight="1"
android:text="X" />
</TableRow>
</TableLayout>
【讨论】:
以上是关于Android - 删除 TableLayout 行之间的空间的主要内容,如果未能解决你的问题,请参考以下文章