Android:滚动视图中的两个图像

时间:2015-07-23 21:29:21

标签: android xml android-layout

我希望能够向用户显示2个图像,但我希望图像能够填满屏幕(水平),然后能够向下滚动到下一个图像,这可能吗?我一直在搞乱不同的XML布局,似乎无法找到解决方案。 当我在滚动视图中放置一个图像视图时,它不会填满屏幕,如何在那里获得2,但只有1个可见,以便开始?

 ?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/building_block"
    android:layout_margin="2dp">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:id="@+id/scrollView"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true">

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:adjustViewBounds="true"
            android:gravity="center"
            android:scaleType="fitXY"
            android:src="@drawable/ic_ntm"
            android:id="@+id/imageView15" />

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:adjustViewBounds="true"
            android:gravity="center"
            android:scaleType="fitXY"
            android:src="@drawable/ic_ntm"
            android:id="@+id/imageView17"
            android:layout_marginTop="44dp" />

    </ScrollView>


</RelativeLayout>

这就是我想要的但是有可能。另一个图像在另一个下方,每个图像填充屏幕和滚动视图?

2 个答案:

答案 0 :(得分:1)

您无法在ScrollView(或Horizo​​ntalScrolView)上添加多于子项。

您可以使用子布局修复它以包含这两个元素。

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:id="@+id/scrollView"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true">
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:adjustViewBounds="true"
        android:layout_weight="1"
        android:gravity="center"
        android:scaleType="fitXY"
        android:src="@drawable/ic_ntm"
        android:id="@+id/imageView15" />

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:adjustViewBounds="true"
        android:gravity="center"
        android:scaleType="fitXY"
        android:layout_weight="1"
        android:src="@drawable/ic_ntm"
        android:id="@+id/imageView17"
        android:layout_marginTop="44dp" />
     </LinearLayout>
</ScrollView>

另请注意android:layout_weight =&#34; 1&#34;,因此每个ImageView都可以占用一半视图,因为如果两者都是fill_parent,则只会显示第一个。

答案 1 :(得分:0)

I think I need to set your images height programaticly to be equal screen height. 

<ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="800dp"
                android:src="@drawable/ic_launcher" />

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="800dp"
                android:src="@drawable/ic_launcher" />
        </LinearLayout>
    </ScrollView>