使用ImageViews的可滚动相对布局

时间:2014-10-05 16:19:38

标签: java android

我正在尝试向我的RelativeLayout添加滚动条,其中包含5个ImageView。

<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: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="XXX" >

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

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

    <ImageView 
        android:id="@+id/picture_imgvw_pic1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="showPictureZoomDialog"
        android:src="@drawable/XXX"/>

    <ImageView 
        android:id="@+id/picture_imgvw_pic2"
        android:layout_toRightOf="@+id/picture_imgvw_pic1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="showPictureZoomDialog" 
        android:src="@drawable/XXX"/>

    <ImageView 
        android:id="@+id/picture_imgvw_pic3"
        android:layout_toRightOf="@+id/picture_imgvw_pic2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="showPictureZoomDialog" 
        android:src="@drawable/XXX"/>

    <ImageView 
        android:id="@+id/picture_imgvw_pic4"
        android:layout_toRightOf="@+id/picture_imgvw_pic3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="showPictureZoomDialog" 
        android:src="@drawable/XXX"/>

    <ImageView 
        android:id="@+id/picture_imgvw_pic5"
        android:layout_toRightOf="@+id/picture_imgvw_pic4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="showPictureZoomDialog" 
        android:src="@drawable/XXX"/>                   

</RelativeLayout>
</ScrollView>

<Button 
    android:id="@+id/picture_button_next"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:text="@string/picture_button_next"
    android:onClick="buttonNext"/>

</RelativeLayout>

这让我显示了5个ImageView中的4个,没有任何可滚动的。我错过了什么?也许有点像“可见属性”? thx:)

1 个答案:

答案 0 :(得分:0)

问题是RelativeLayout的高度。它被设置为&#34; match_parent&#34;。你应该把它设置为&#34; wrap_content&#34;像这样:

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

    <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

当设置为match_parent时,RelativeLayout将永远不会高于ScrollView,因此无法滚动。

编辑: 显然你想要水平滚动,所以你应该使用Horizo​​ntalScrollView而不是ScrollView,它应该是你应该的&RelativeLayout的宽度#34; WRAP_CONTENT&#34;