Android 如何垂直和水平排列一些图像
在我的应用程序中,我有10幅图像,我使用线性布局将两幅图像按行排列,我想在第一行下按行排列其余图像(两幅图像的组)。我尝试了这段代码,我不知道如何安排下的第一行,我还想添加相同的滚动视图剩余的图像。是否可以为所有线性布局添加单个滚动视图?我试过了,但代码不起作用。有人能帮我吗?我不熟悉android布局Android 如何垂直和水平排列一些图像,android,android-layout,android-xml,Android,Android Layout,Android Xml,在我的应用程序中,我有10幅图像,我使用线性布局将两幅图像按行排列,我想在第一行下按行排列其余图像(两幅图像的组)。我尝试了这段代码,我不知道如何安排下的第一行,我还想添加相同的滚动视图剩余的图像。是否可以为所有线性布局添加单个滚动视图?我试过了,但代码不起作用。有人能帮我吗?我不熟悉android布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="ht
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.cozyne.user.picimagetest.GridViewActivity">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="start"
android:orientation="vertical"
android:layout_weight="1"
>
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
</LinearLayout>
</RelativeLayout>
使用Gridview或使用自定义适配器intead的RecyclerView
将下面的android:layout\u添加到第二行,因为您的父标记是相对的 RelativeLayout您必须通过其他控件id设置子控件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.cozyne.user.picimagetest.GridViewActivity">
<LinearLayout
android:id="@+id/firstrow"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
</LinearLayout>
<LinearLayout
android:id="@+id/secondrow"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_below="@+id/firstrow"
android:gravity="start"
android:orientation="vertical"
android:layout_weight="1"
>
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
</LinearLayout>
</RelativeLayout>
您使用的布局不一致。将每组两个图像放入其自身的线性布局中,并将其方向设置为水平。然后对随后的每一行始终这样做。您还可以使用以表行作为行的表布局。您应该一致地设置宽度,并确保设置包裹内容的高度。如果您遇到行高不一致的问题,可以为每行指定0dp的高度,每行的布局权重为1。但是,这可能会扭曲/切断您的图像
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.cozyne.user.picimagetest.GridViewActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
</LinearLayout>
</LinearLayout>
要在TableLayout中执行此操作,您需要如下修改:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.cozyne.user.picimagetest.GridViewActivity">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg"/>
<ImageButton
android:id="@+id/imageButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageButton
android:id="@+id/imageButton4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
<ImageButton
android:id="@+id/imageButton5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/gridimg" />
</TableRow>
<!--add rows as needed-->
<!-- final row with one image-->
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_gravity="left"
android:src="@drawable/gridimg" >
</TableRow>
为要包含的每一行在下面添加其他线性布局。如果希望整个屏幕可滚动,请将顶级线性布局更改为滚动视图。