Android ScrollView不包装给它的孩子?

时间:2011-08-22 01:05:22

标签: android android-layout android-scrollview

我的ScrollView出现问题。它里面有一个ImageView。 imageView保存的图像为480 * 3000像素。所以它需要在ScrollView中,以便用户可以向下滚动。

问题是:当我测试应用程序时,ScrollView不会包装到图像高度。图像下方有一个黑色空间,对我来说很奇怪。

这是我的XML代码。我期待着你的意见

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <ScrollView
    android:id="@+id/scroll_view"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scrollbars="vertical" >    
        <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/image"
        android:src="@drawable/image01"
        android:scaleType="fitStart" />     
    </ScrollView>
</RelativeLayout>

更新 这是我的图像与@ruhalde代码的样子。我不能拍大片,因为它很大,你不会看到整个画面,所以我画它。

enter image description here

4 个答案:

答案 0 :(得分:0)

重写你的布局。使ScrollView成为最外层的元素。请查看此优秀教程以获取更多信息:http://mobiforge.com/designing/story/understanding-user-interface-android-part-1-layouts

答案 1 :(得分:0)

使用LinearLayout而不是现在已弃用的RelativeLayout。如果需要setFillViewPort(true),请在ScrollView XML中设置fillViewPort = true或以编程方式设置。

将imageview放在LinearLayout中,而在ScrollView中,您的XML应如下所示:

的LinearLayout ---滚动型 ----的LinearLayout ------ ImageView的

在这里查看我的XML,使用800 x 4000像素的图像,完美滚动垂直:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ScrollView android:id="@+id/scrollView1"
        android:layout_width="fill_parent" android:layout_height="wrap_content">
        <LinearLayout android:id="@+id/linearLayout1"
            android:layout_width="fill_parent" android:layout_height="fill_parent">
            <ImageView android:id="@+id/mapa" android:layout_height="wrap_content"
                android:layout_width="wrap_content"></ImageView>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

答案 2 :(得分:0)

对于那些可能感兴趣的人:

我的问题在于我正在使用的图像,而不是我如何组织我的布局。感谢。

答案 3 :(得分:-1)

我相信您应该在布局标记

之前使用scrollView标记