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

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

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

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

这是我的代码..

    <GridLayout
        android:layout_width="0dp"
        android:background="#ff0000"
        android:stretchMode="columnWidth"
        android:rowCount="2"
        android:columnCount="3"
        android:layout_weight="1"
        android:layout_height="match_parent">


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


        <ImageButton
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:adjustViewBounds="true"
            android:layout_columnWeight="1"
            android:layout_rowWeight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/ic_launcher"/>

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

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

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

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


    </GridLayout>

【问题讨论】:

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

标签: android grid-layout android-gridlayout


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-04-16
    • 2016-11-21
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 2016-06-10
    相关资源
    最近更新 更多