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.GridLayout
和 app:layout_columnWeight="1"
解决它(而不仅仅是 'GridLayout' 和 'android:layout_columnWeight'
有关更多详细信息,请参阅我对类似问题的回复: android gridlayout not showing in emulator API 22
【讨论】:
以上是关于android gridlayout未在23岁以下的api中显示加权项目的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 gridlayout 设置 OnClick android cardview 示例