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

溫馨提示×

Android Scroller如何與ListView結合使用

小樊
86
2024-07-16 03:49:46
欄目: 編程語言

要將Android Scroller與ListView結合使用,可以通過自定義ListView來實現滾動效果。以下是一個簡單的示例代碼:

  1. 創建一個CustomListView類,繼承自ListView,并重寫其onTouchEvent方法:
public class CustomListView extends ListView {

    private Scroller mScroller;

    public CustomListView(Context context) {
        super(context);
        mScroller = new Scroller(context);
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
            if (!mScroller.isFinished()) {
                mScroller.abortAnimation();
            }
        }
        mScroller.computeScrollOffset();
        return super.onTouchEvent(ev);
    }

    @Override
    public void computeScroll() {
        if (mScroller.computeScrollOffset()) {
            smoothScrollTo(0, mScroller.getCurrY());
            invalidate();
        }
    }

    public void smoothScrollTo(int destX, int destY) {
        int scrollY = getScrollY();
        int delta = destY - scrollY;
        mScroller.startScroll(0, scrollY, 0, delta, 1000);
        invalidate();
    }
}
  1. 在布局文件中使用CustomListView替代普通的ListView:
<com.example.CustomListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
  1. 在Activity中設置Adapter,并調用smoothScrollTo方法來實現滾動效果:
CustomListView listView = findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, new String[]{"Item 1", "Item 2", "Item 3"});
listView.setAdapter(adapter);

listView.smoothScrollTo(0, 100); // 滾動到指定位置

通過以上步驟,就可以實現在ListView中使用Android Scroller來實現滾動效果。

0
肃北| 波密县| 商都县| 九江县| 雷州市| 南城县| 巴楚县| 全椒县| 治多县| 临海市| 三穗县| 高雄市| 松阳县| 万年县| 河源市| 砚山县| 梓潼县| 驻马店市| 九龙县| 舟曲县| 荃湾区| 定日县| 饶阳县| 和硕县| 宁明县| 鲁山县| 安国市| 巧家县| 长乐市| 城固县| 奉化市| 班玛县| 海安县| 长寿区| 南京市| 宣威市| 灵丘县| 鹤壁市| 株洲县| 乌鲁木齐县| 溧水县|