gpt4 book ai didi

android - 在 Android GridLayout 中水平居中 View

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:52:35 25 4
gpt4 key购买 nike

我们正在编写一个针对 ICS+ 的应用程序,并且相信 GridLayout 是最好的布局范例,但是关于它的文章似乎很少,而且我们遇到了一些对齐问题。

<GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/row_background"
android:rowCount="1"
android:columnCount="3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:useDefaultMargins="true"
android:background="@drawable/list_item_bg">

<ImageView
android:id="@+id/visibilityIcon"
android:layout_row="0"
android:layout_column="0"
android:src="@drawable/visibility_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>

<ImageView
android:id="@+id/windIcon"
android:layout_row="0"
android:layout_column="1"
android:src="@drawable/wind_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>

<ImageView
android:id="@+id/crosswindIcon"
android:layout_row="0"
android:layout_column="2"
android:src="@drawable/cloud_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"/>

</GridLayout>

但是,左边的 2 个图标保持左对齐,最右边的图标以剩余空间居中。

本质上,我们需要做的是将每列的大小指定为总屏幕大小的 1/3(因为是 3 列)。我认为这就是 GridLayout 所做的,但它似乎是 'wrap_content' 导致了这种行为(有道理),但是 'match_parent' 导致第一列填充整个屏幕,而不是填充它的单元格,这是我预期的行为。

我们似乎已经尝试了 gravity、layout_gravity 等的所有组合,但要么我们从根本上做错了,要么发现了 GridLayout 的局限性。

感谢您的帮助!

最佳答案

在 GridLayout 中只允许增长一行和一列,也就是沿该轴具有引力的那一行。如果不止一行或一列指定重力只有一个会得到它(如果我记得它是“最后一个”)。选择其他布局或编写您自己的布局。如果您只想要一行具有均分图标的行,您可以使用 LinearLayout,其中组件的宽度为 0px 并且重量都相同,例如1.

关于android - 在 Android GridLayout 中水平居中 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12379012/

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