gpt4 book ai didi

android - GridLayout 越界

转载 作者:太空狗 更新时间:2023-10-29 16:33:16 26 4
gpt4 key购买 nike

我正在尝试使用 GridLayout 重现此计算器布局

enter image description here

但这就是我用我尝试过的代码得到的结果。

enter image description here

事实上,在设备上情况会变得更糟,它会削减更多必须跨越两行的最后一个相等按钮。

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#000000"
android:columnCount="5"
android:rowCount="2"
android:orientation="horizontal"
android:padding="5dp">

<Button
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:text="1" />

<Button
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:text="2" />

<Button
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:text="3" />

<Button
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:text="-" />

<Button
android:layout_columnSpan="1"
android:layout_rowSpan="2"
android:layout_gravity="fill_vertical"
android:text="=" />


<Button
android:layout_columnSpan="2"
android:layout_rowSpan="1"
android:layout_gravity="fill_horizontal"
android:text="0" />

<Button
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:text="." />

<Button
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:text="+" />

<Space
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:text="-" />

<Space
android:layout_columnSpan="1"
android:layout_rowSpan="1"
android:text="=" />

</GridLayout>

然而,它总是越界。我试图根据这个线程更改为“android.support.v7.widget.GridLayout”:

GridLayout column is going beyond its bounds

但没有太大帮助。

有什么线索可以让它精确匹配手机尺寸吗?

最佳答案

将 View 更改为 android.support.v7.widget.GridLayout。并且还将 app:layout_columnWeight 添加到每个 View 并将 layout_width 设置为 0dp。不需要空间 View 。

(使用 Genymotion/VM Nexus Android 5.0 和带有 Android 6.0.1 的 Nexus 9 进行测试)

这是最终结果:

<android.support.v7.widget.GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
app:columnCount="5"
app:rowCount="2"
app:orientation="horizontal"
android:padding="5dp">

<Button
app:layout_columnWeight="1"
android:layout_width="0dp"
app:layout_columnSpan="1"
app:layout_rowSpan="1"
android:text="1" />

<Button
app:layout_columnWeight="1"
android:layout_width="0dp"
app:layout_columnSpan="1"
app:layout_rowSpan="1"
android:text="2" />

<Button
app:layout_columnWeight="1"
android:layout_width="0dp"
app:layout_columnSpan="1"
app:layout_rowSpan="1"
android:text="3" />

<Button
app:layout_columnWeight="1"
android:layout_width="0dp"
app:layout_columnSpan="1"
app:layout_rowSpan="1"
android:text="-" />

<Button
app:layout_columnWeight="1"
android:layout_width="0dp"
app:layout_columnSpan="1"
app:layout_rowSpan="2"
app:layout_gravity="fill_vertical"
android:text="=" />


<Button
app:layout_columnWeight="1"
android:layout_width="0dp"
app:layout_columnSpan="2"
app:layout_rowSpan="1"
app:layout_gravity="fill_horizontal"
android:text="0" />

<Button
app:layout_columnWeight="1"
android:layout_width="0dp"
app:layout_columnSpan="1"
app:layout_rowSpan="1"
android:text="." />

<Button
app:layout_columnWeight="1"
android:layout_width="0dp"
app:layout_columnSpan="1"
app:layout_rowSpan="1"
android:text="+" />

</android.support.v7.widget.GridLayout>

关于android - GridLayout 越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34606789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com