0

我到处都看到这个问题,但我认为每个案例都有自己的解决方案。我所拥有的是:

<HorizontalScrollView
    android:id="@+id/MenuScroll"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true"
    android:scrollbars="none" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="48dp"
        android:orientation="horizontal"
            android:layout_gravity="center"
        android:padding="0dp" >

        <Button
            android:layout_width="150dp"
            android:layout_height="fill_parent" />

        <Button
            android:layout_width="150dp"
            android:layout_height="fill_parent" />

        <Button
            android:layout_width="150dp"
            android:layout_height="fill_parent" />

        <Button
            android:layout_width="150dp"
            android:layout_height="fill_parent" />

        <Button
            android:layout_width="150dp"
            android:layout_height="fill_parent" />

    </LinearLayout>
</HorizontalScrollView>

我假装LinearLayoutHorizontalScrollView. 它居中(我看到halfbutton - button - halfbutton)但我无法滚动到第一个按钮。看起来隐藏在左侧的内容占用的空间被添加到右侧,并且在 . 之后添加了一些空间HorizontalScrollView在此处输入图像描述

有没有什么解决方案,即使我必须动态地做?

4

1 回答 1

1

我有同样的问题,为了避免它只是删除

 android:layout_gravity="center"

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="48dp"
    android:orientation="horizontal"
        android:layout_gravity="center"
    android:padding="0dp" >

您可以在创建布局视图时添加计时器以正确滚动。如果您不添加计时器,则由于未创建视图,它不会滚动。您无法滚动尚未看到的内容

 new Timer().schedule(new TimerTask () {
        @Override
        public void run() {
            //SOME SCROLLING FUNCTION
            }}, 50);        
于 2013-03-04T20:38:53.403 回答