android gridlayout未在23岁以下的api中显示加权项目

Posted

技术标签:

【中文标题】android gridlayout未在23岁以下的api中显示加权项目【英文标题】:android gridlayout not showing weighted items in apis under 23 【发布时间】:2016-05-08 19:00:06 【问题描述】:

我正在尝试用 6 个图像按钮填充 GridView,所有这些按钮的宽度和高度都设置为 0dp,并且在行和列上都加权

android Studio 中进行编码时,设计师给出了预期的结果,如图所示

但是,在设备上运行代码时,没有显示任何图像按钮。经过大量的头疼和谷歌搜索后,我尝试在 Android Studio 中更改为 renering API 并将其设置为低于 23 的任何值都会产生相同的行为 - 我的网格视图中没有显示任何项目。

这是我的代码..

    <GridLayout
        android:layout_
        android:background="#ff0000"
        android:stretchMode="columnWidth"
        android:rowCount="2"
        android:columnCount="3"
        android:layout_weight="1"
        android:layout_>


        <ImageButton
            android:layout_
            android:layout_
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:padding="0dp"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher"/>


        <ImageButton
            android:layout_
            android:layout_
            android:adjustViewBounds="true"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher"/>

        <ImageButton
            android:layout_
            android:layout_
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher"/>

        <ImageButton
            android:layout_
            android:layout_
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher"/>

        <ImageButton
            android:layout_
            android:layout_
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher"/>

        <ImageButton
            android:layout_
            android:layout_
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher"/>


    </GridLayout>

【问题讨论】:

您是否设法找到解决该问题的方法?我现在正在为同样的问题而苦苦挣扎! @Anorflame 如果我没记错的话,我发现加权 GridLayout 只能从 Marshmallow 开始工作。我最终只是将布局更改为一对线性布局(每行一个)来处理我的特殊情况 我明白了...我最终使用了相同的解决方案。好吧,无论如何,谢谢! 【参考方案1】:

我遇到了完全相同的问题,但能够使用 android.support.v7.widget.GridLayoutapp:layout_columnWeight="1" 解决它(而不仅仅是 'GridLayout' 和 'android:layout_columnWeight'

有关更多详细信息,请参阅我对类似问题的回复: android gridlayout not showing in emulator API 22

【讨论】:

以上是关于android gridlayout未在23岁以下的api中显示加权项目的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 gridlayout 设置 OnClick android cardview 示例

1、求用SQL查询所有年龄在20岁以下的学生姓名与年龄。2、查询年龄不在20-23(包含20、23

GridLayout 中 TextView 的动态高度

android gridlayout用法

Kivy GridLayout 访问行和列返回无。

Android 布局之GridLayout