3

表示されたときにHorizo​​ntalScrollViewがすでに値によってスクロールされる値を指定するにはどうすればよいですか?

すでにscrollToメソッドを試しましたが、これはポストレイアウトコンテキストでのみ機能し、特定の位置でHorizo​​ntalScrollViewを開始できません。

どうやってやるの?

4

3 に答える 3

2

私はこの方法で解決しました。より良い解決策も大歓迎です:

    public void scrollWhenAvailable(final int x) {
        if (x == getScrollX())
            return;

        scrollTo(x, 0);

        postDelayed(new Runnable() {

            @Override
            public void run() {
                scrollWhenAvailable(x);
            }
        }, 10);
    }
于 2011-09-12T17:32:35.837 に答える
0

postDelayedには不要だと思います。すべてのビューのディメンションが計算された後に実行されるため、単純な投稿で十分です。これをonCreate(..)に追加することもできます。

scrollView.post(new Runnable() {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        scrollView.setScrollX(x);
    }
});

また、SDKレベルが十分に高い場合は、setScrollXがおそらく使用したいものであることに注意してください。

于 2012-04-23T09:06:55.707 に答える
0

適切なタイミングで呼び出す必要があるかもしれませんが、それはまさにあなたが望むことをするので、とにかく scrollTo を使用する必要があります。(いくつかの onPostSomething では、私は推測します)

于 2011-09-12T17:10:21.133 に答える