0
我在XML中有4张图片,我想在我的RelativeLayout中以2×2的网格显示它们,我希望同一行中的图片能够平均占用宽度。我试图使用wrap_content
,但它没有工作,图像没有显示,我想避免设置一个固定的宽度/高度(如下面的代码),因为屏幕尺寸的差异。Android - 将4张图片放在2x2的网格中
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:orientation="vertical">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/picture"
android:layout_height="140dp"
android:layout_width="140dp"
fresco:viewAspectRatio="1"
fresco:fadeDuration="300"
fresco:actualImageScaleType="focusCrop"
fresco:failureImage="@android:color/transparent"
fresco:placeholderImage="@android:color/transparent"
fresco:progressBarAutoRotateInterval="1000"
fresco:progressBarImage="@drawable/loading_circle"
fresco:progressBarImageScaleType="centerInside"/>
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/picture2"
android:layout_height="140dp"
android:layout_width="140dp"
android:layout_toRightOf="@id/picture"
fresco:viewAspectRatio="1"
fresco:fadeDuration="300"
fresco:actualImageScaleType="focusCrop"
fresco:failureImage="@android:color/transparent"
fresco:placeholderImage="@android:color/transparent"
fresco:progressBarAutoRotateInterval="1000"
fresco:progressBarImage="@drawable/loading_circle"
fresco:progressBarImageScaleType="centerInside"/>
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/picture3"
android:layout_height="140dp"
android:layout_width="140dp"
android:layout_below="@id/picture"
fresco:viewAspectRatio="1"
fresco:fadeDuration="300"
fresco:actualImageScaleType="focusCrop"
fresco:failureImage="@android:color/transparent"
fresco:placeholderImage="@android:color/transparent"
fresco:progressBarAutoRotateInterval="1000"
fresco:progressBarImage="@drawable/loading_circle"
fresco:progressBarImageScaleType="centerInside"/>
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/picture4"
android:layout_height="140dp"
android:layout_width="140dp"
android:layout_toRightOf="@id/picture3"
android:layout_below="@id/picture2"
fresco:viewAspectRatio="1"
fresco:fadeDuration="300"
fresco:actualImageScaleType="focusCrop"
fresco:failureImage="@android:color/transparent"
fresco:placeholderImage="@android:color/transparent"
fresco:progressBarAutoRotateInterval="1000"
fresco:progressBarImage="@drawable/loading_circle"
fresco:progressBarImageScaleType="centerInside"/>
</RelativeLayout>
的RelativeLayout的本身成为这种不必要的,虽然,你可以只用唯一linearlayouts做到这一点。 如果你想使用relativelayout,那么你可以在relativelayout(居中)的中间添加一个空视图,并将其他视图与其相关。 另一种方法是使用PercentRelativeLayout,但它仅在23中添加,并在26中弃用! https://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html –