将View添加到其布局后,Horizo​​ntalScrollView不会滚动

时间:2013-08-05 22:45:04

标签: android scroll gallery horizontalscrollview infinite

我创造了无限画面的画廊。 我的想法是从Horizo​​ntalScrollView中删除第一个或最后一个子视图,当它滚动得太远时。 这是我的main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <HorizontalScrollView
        android:id="@+id/scroller"
        android:layout_width="500dp"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true" >

        <LinearLayout
            android:id="@+id/mygallery"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:orientation="horizontal" />

    </HorizontalScrollView>
</RelativeLayout>

在“onTouch”回调中,我确定哪个方向滚动View。如果它向左转,我必须删除第一个子视图与图片,再添加一个到Horizo​​ntalScrollView的末尾并滚动到第二张图片,因为删除第一张图片后我的视图显示第三(最后)图片。因此,第一张照片将在左侧,最后一张照片将在右侧。

Log.i(TAG, "Moving to the left");
scrollView.smoothScrollTo(0, 0); //moving to the start of scroller to see the first picture
removeLastPicture(); //removing last picture
prependPicture(); //prepending picture
scrollView.scrollTo(pictureWidth, 0); //I've got to scroll my scroller to the center

最后一个字符串不起作用。 Horizo​​ntalScrollView显示第一张图片,不会滚动到中心图片。我错了什么?

顺便说一下,我的画廊可能还有一些更有趣的想法吗?我想通过一个滚动只改变一张图片。

0 个答案:

没有答案