91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Android Scroller如何實現平滑滾動

小樊
102
2024-07-16 03:47:44
欄目: 編程語言

Android中的Scroller類可以實現平滑滾動效果。下面是一個簡單的示例代碼,演示如何使用Scroller類實現平滑滾動:

public class SmoothScrollActivity extends AppCompatActivity {

    private TextView textView;
    private Button scrollButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_smooth_scroll);

        textView = findViewById(R.id.text_view);
        scrollButton = findViewById(R.id.scroll_button);

        scrollButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                smoothScrollTo(textView, 0, 0, 1000);
            }
        });
    }

    private void smoothScrollTo(View targetView, int x, int y, int duration) {
        Scroller scroller = new Scroller(this);
        scroller.startScroll(targetView.getScrollX(), targetView.getScrollY(), x, y, duration);
        targetView.invalidate();

        handler.post(new Runnable() {
            @Override
            public void run() {
                if (scroller.computeScrollOffset()) {
                    targetView.scrollTo(scroller.getCurrX(), scroller.getCurrY());
                    targetView.postInvalidate();
                    handler.post(this);
                }
            }
        });
    }
}

在上面的代碼中,我們首先獲取到要滾動的目標View,然后創建一個Scroller對象,并使用startScroll方法來指定滾動的起始位置、終點位置和滾動時間。接著使用Handler來循環計算當前的滾動位置,并通過scrollTo方法實現平滑滾動效果。最后在按鈕的點擊事件中調用smoothScrollTo方法即可實現平滑滾動。

0
堆龙德庆县| 聂拉木县| 信丰县| 靖安县| 汝城县| 会同县| 安阳市| 通辽市| 白沙| 阳朔县| 阳城县| 双城市| 教育| 平湖市| 龙里县| 惠安县| 稻城县| 西城区| 桦甸市| 天柱县| 乌鲁木齐县| 栾川县| 潮安县| 马尔康县| 台北县| 太保市| 霍城县| 崇礼县| 温泉县| 佛坪县| 高州市| 泰兴市| 呼和浩特市| 抚顺县| 正镶白旗| 同仁县| 自贡市| 南平市| 尼玛县| 邳州市| 彩票|