Android逐个对齐图像按钮并可滚动

时间:2017-03-05 11:31:39

标签: android

我有4个图像按钮,稍后会添加更多。我想逐个添加它们,每个都低于前一个。因此,我创建了一个ScrollView,以便可以滚动查看所有按钮。但是在我添加ScrollView之后,我无法移动其他元素。

这是我的代码:

<ScrollView 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="fill_parent"
android:layout_height="fill_parent">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.exampl.mygames.MainActivity$PlaceholderFragment">


<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/btntower"
    android:id="@+id/imageButton"
    android:layout_alignParentTop="true"
    android:scaleType="fitXY"
    android:layout_centerHorizontal="true"
    android:adjustViewBounds="true"
    android:cropToPadding="false"/>

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/btntower"
    android:id="@+id/imageButton2"
    android:layout_alignBottom="@+id/imageButton"
    android:scaleType="fitXY"
    android:layout_marginTop="20dip"
    android:layout_centerHorizontal="true"
    android:adjustViewBounds="true"
    android:cropToPadding="false"/>

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/btntower"
    android:id="@+id/imageButton3"
    android:layout_alignParentTop="true"
    android:scaleType="fitXY"
    android:layout_centerHorizontal="true"
    android:adjustViewBounds="true"
    android:cropToPadding="false"/>

<ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/btntower"
    android:id="@+id/imageButton4"
    android:layout_alignParentTop="true"
    android:scaleType="fitXY"
    android:layout_centerHorizontal="true"
    android:adjustViewBounds="true"
    android:cropToPadding="false"/>
</RelativeLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:1)

尝试下面的布局:

android:fillViewport="true"

中添加android:layout_height="wrap_content"并更改scrollview
    <ScrollView 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="wrap_content"
    android:fillViewport="true">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.exampl.mygames.MainActivity$PlaceholderFragment">


        <ImageButton
            android:id="@+id/imageButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:adjustViewBounds="true"
            android:cropToPadding="false"
            android:scaleType="fitXY"
            android:src="@mipmap/ic_launcher" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/imageButton"
            android:layout_centerHorizontal="true"
            android:adjustViewBounds="true"
            android:cropToPadding="false"
            android:scaleType="fitXY"
            android:src="@mipmap/ic_launcher" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/imageButton2"
            android:layout_centerHorizontal="true"
            android:adjustViewBounds="true"
            android:cropToPadding="false"
            android:scaleType="fitXY"
            android:src="@mipmap/ic_launcher" />

        <ImageButton
            android:id="@+id/imageButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/imageButton3"
            android:layout_centerHorizontal="true"
            android:adjustViewBounds="true"
            android:cropToPadding="false"
            android:scaleType="fitXY"
            android:src="@mipmap/ic_launcher" />
    </RelativeLayout>
</ScrollView>