亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
衢州市| 陆良县| 西充县| 库尔勒市| 太保市| 普格县| 沂南县| 南通市| 台东市| 石渠县| 饶河县| 武功县| 东海县| 江口县| 买车| 万盛区| 依兰县| 安宁市| 平遥县| 金门县| 龙川县| 儋州市| 福泉市| 兴仁县| 鹿泉市| 安徽省| 陈巴尔虎旗| 桃园市| 米泉市| 武定县| 枣阳市| 九江市| 张家川| 彝良县| 上高县| 旅游| 高州市| 杨浦区| 噶尔县| 徐汇区| 蓝山县|