Android XML 图像按钮排成一行的布局
Android XML Layout with imagebuttons in a row
我正在尝试创建一行图像按钮,假设是 3 行 3 列。
我一直试图让所有图片的尺寸都一样,但设计总是一团糟。
试图得到这样的东西:
图片图片图片
图片图片图片
图片图片图片
有人可以帮我把这些排成一行吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<ImageButton
android:layout_width="100dp"
android:layout_height="172dp"
android:id="@+id/imageButton"
android:src="@drawable/sample_0"
android:layout_gravity="center_horizontal" />
<ImageButton
android:layout_width="129dp"
android:layout_height="180dp"
android:id="@+id/imageButton2"
android:src="@drawable/sample_1" />
</LinearLayout>
您不应尝试使用 layout_height-width 参数排列图像。随着屏幕尺寸、方向等的变化会导致布局混乱。
使用 GridView 在屏幕上排列图像。请参阅 gridview GridView
的文档
如果你不想使用 GridView,你可以用 android:layout_weight
来实现,就像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="180dp">
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton2"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton3"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="180dp">
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton4"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton5"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton6"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="180dp">
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton7"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton8"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton9"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
我正在尝试创建一行图像按钮,假设是 3 行 3 列。
我一直试图让所有图片的尺寸都一样,但设计总是一团糟。
试图得到这样的东西:
图片图片图片
图片图片图片
图片图片图片
有人可以帮我把这些排成一行吗?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<ImageButton
android:layout_width="100dp"
android:layout_height="172dp"
android:id="@+id/imageButton"
android:src="@drawable/sample_0"
android:layout_gravity="center_horizontal" />
<ImageButton
android:layout_width="129dp"
android:layout_height="180dp"
android:id="@+id/imageButton2"
android:src="@drawable/sample_1" />
</LinearLayout>
您不应尝试使用 layout_height-width 参数排列图像。随着屏幕尺寸、方向等的变化会导致布局混乱。
使用 GridView 在屏幕上排列图像。请参阅 gridview GridView
的文档如果你不想使用 GridView,你可以用 android:layout_weight
来实现,就像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="180dp">
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton2"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton3"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="180dp">
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton4"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton5"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton6"
android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="180dp">
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton7"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton8"
android:layout_weight="1" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:id="@+id/imageButton9"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>