在我的应用程序中我有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>
答案 0 :(得分:0)
使用Gridview或RecyclerView使用自定义适配器intead。
http://developer.android.com/guide/topics/ui/layout/gridview.html
答案 1 :(得分:0)
将android:layout_below添加到第二行,因为您的父标记是RelativeLayout和In 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>
答案 2 :(得分:0)
您使用的布局不一致。将每组两个图像放入其自己的线性布局中,并将其方向设置为水平。然后对每个后续行保持一致。您还可以将表格布局与表格行一起用作行。您应该始终如一地设置宽度,并确保设置高度以包装内容。如果您遇到行高不一致的问题,可以为每行指定一个0dp的高度,每行的layout_weight为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>
答案 3 :(得分:0)
要在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>