【发布时间】:2019-10-05 15:55:41
【问题描述】:
我想显示 9 张图片。我希望布局是 3 x 3。
问题是第一行的前 3 张图片占据了屏幕尺寸的三分之二。
我尝试在垂直线性布局中添加嵌套的水平线性布局,每个水平线性布局的 wightsum = 3, 1。我还添加了 app:layout_heightPercent="25%" app:layout_widthPercent="25%" 并没有改变。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:weightSum="3"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:weightSum="3"
android:orientation="horizontal">
<ImageButton
android:id="@+id/image11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:background="@drawable/image1"
android:padding="10dp"
android:scaleType="fitXY"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%"/>
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/image1"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="10dp"
android:scaleType="fitXY"
android:id="@+id/image2"
android:layout_gravity="center"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%" />
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/image1"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="10dp"
android:scaleType="fitXY"
android:id="@+id/image3"
android:layout_gravity="center"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:weightSum="3">
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/image1"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="10dp"
android:scaleType="fitXY"
android:id="@+id/image4"
android:layout_gravity="center"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%" />
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/image1"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="10dp"
android:scaleType="fitXY"
android:id="@+id/image5"
android:layout_gravity="center"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%" />
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/image1"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="10dp"
android:scaleType="fitXY"
android:id="@+id/ima6"
android:layout_gravity="center"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:weightSum="3">
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/image1"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="10dp"
android:scaleType="fitXY"
android:id="@+id/image7"
android:layout_gravity="center"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%" />
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/image1"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="10dp"
android:scaleType="fitXY"
android:id="@+id/image8"
android:layout_gravity="center"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%" />
<ImageButton
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="@drawable/image1"
android:layout_marginLeft="2dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:padding="10dp"
android:scaleType="fitXY"
android:id="@+id/image9"
android:layout_gravity="center"
app:layout_heightPercent="25%"
app:layout_widthPercent="25%" />
</LinearLayout>
</LinearLayout>
【问题讨论】:
-
可以拍出你想要的照片吗?你的图片最终应该是什么样子?
-
这里是横向布局的 3x3 图片的链接:drive.google.com/file/d/1P55zdfZeoqpABPxI5i1cynrHI9F_ST1Z/…
-
如果这张照片是你想要的,你的代码已经可以工作了!图片中的行和列占您提到的 33% 而不是 25%!
标签: android xml android-layout landscape