Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何垂直和水平排列一些图像_Android_Android Layout_Android Xml - Fatal编程技术网

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

在我的应用程序中,我有10幅图像,我使用线性布局将两幅图像按行排列,我想在第一行下按行排列其余图像(两幅图像的组)。我尝试了这段代码,我不知道如何安排下的第一行,我还想添加相同的滚动视图剩余的图像。是否可以为所有线性布局添加单个滚动视图?我试过了,但代码不起作用。有人能帮我吗?我不熟悉android布局

 <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>


为要包含的每一行在下面添加其他线性布局。如果希望整个屏幕可滚动,请将顶级线性布局更改为滚动视图。