0

水平スクロールビューのレイアウトの下部に 8 つのタブがあります。

今私が欲しいのは、そのアクティビティの開始時に、タブ全体を最後のタブにスムーズにスクロールしたいです。では、水平スクロールビューで最初のタブから最後のタブまでスムーズにスクロールするにはどうすればよいでしょうか。

これは私のレイアウトファイルです:

<HorizontalScrollView
    android:id="@+id/horizontalScrollView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:fadingEdge="none"
    android:overScrollMode="never"
    android:scrollbars="none" >

    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:divider="@drawable/divider_tab" />

</HorizontalScrollView>

次のようないくつかのコードを試しました:

final HorizontalScrollView sv = (HorizontalScrollView)findViewById(R.id.horizontalScrollView);
sv.post(new Runnable() {
    public void run() {
        sv.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
    }
});

このアニメーションまたはスクロールを可能にするのを手伝ってください。

4

1 に答える 1

0

また、画面下部のアクティビティで 9 つのタブを作成しました。すべてのタブを非常にスムーズにスクロールできます。XML で以下のコードを試してください。

<?xml version="1.0" encoding="utf-8"?>

<!-- xmlns:android="http://schemas.android.com/apk/res/android" -->

<TabHost
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

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

        <!-- <View -->
        <!-- android:layout_width="fill_parent" -->
        <!-- android:layout_height="0.5dip" -->
        <!-- android:background="#000" /> -->

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />

        <View
            android:layout_width="fill_parent"
            android:layout_height="2dip"
            android:background="#696969" />

        <HorizontalScrollView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="0dip"
                android:layout_marginRight="0dip" />
        </HorizontalScrollView>

        <!-- <View -->
        <!-- android:layout_width="fill_parent" -->
        <!-- android:layout_height="2dip" -->
        <!-- android:background="#000" /> -->

    </LinearLayout>
</TabHost>

それが役に立てば幸い..

于 2013-06-19T10:12:48.007 に答える