GridLayout中的Android ImageViews渲染问题

问题描述 投票:0回答:1

我对包含ImageViews的GridLayout有一个奇怪的问题。

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:columnCount="2"
    android:rowCount="3"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_row="1"
        android:layout_column="0"
        android:src="@drawable/test" />

    <ImageView
        android:layout_row="2"
        android:layout_column="0"
        android:src="@drawable/test" />

    <ImageView
        android:layout_row="0"
        android:layout_column="1"
        android:src="@drawable/test" />

    <ImageView
        android:layout_row="1"
        android:layout_column="1"
        android:src="@drawable/test" />

    <ImageView
        android:layout_row="2"
        android:layout_column="1"
        android:src="@drawable/test" />

</GridLayout>

这是我想要实现的目标:

Desired layout

但是,布局似乎根本不缩放,看起来像这样(取决于屏幕的大小:] >>

Actual layout

我尝试过的(但不起作用):

  • 在GridLayout中添加android:clipChildren="false"
  • 将ImageView的scaleType设置为fitXYfitCentercenterCrop
  • 将ImageViews的layout_widthlayout_height设置为wrap_contentmatch_parent及其排列(但是,我希望GridLayout自动设置其子级的大小)
  • 有经验的人可以告诉我如何实现我的目标吗? :D谢谢!

PS:如果还有其他可以用来获得所需外观的布局,请告诉我。

我对包含ImageViews的GridLayout有一个奇怪的问题。这是我的布局:

android imageview android-gridlayout
1个回答
1
投票
您需要为子视图指定layout_width / layout_height以及layout_columnWeight / layout_rowWeight。它类似于LinearLayout中的权重。

像这样使用它:

© www.soinside.com 2019 - 2024. All rights reserved.