亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Android實(shí)現(xiàn)快速滾動(dòng)FastScrollView效果

瀏覽:6日期:2023-12-08 09:53:51

先看效果圖:

Android實(shí)現(xiàn)快速滾動(dòng)FastScrollView效果

public class FastScrollView extends ScrollView { private Rect mBarRect = new Rect(); private int mScrollExWidth; private int mScrollExHeight; private boolean mScrollStart; private int dx, dy; private int mRightPadding; public FastScrollView(Context context) {super(context);init(); } public FastScrollView(Context context, AttributeSet attrs) {super(context, attrs);init(); } public FastScrollView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);init(); } private void init() {mScrollExWidth = dip2px(16); //擴(kuò)展拖動(dòng)區(qū)域?qū)挾龋勺孕行薷膍ScrollExHeight = dip2px(50); //擴(kuò)展拖動(dòng)區(qū)域高度,可自行修改 } @Override public boolean dispatchTouchEvent(MotionEvent ev) {switch (ev.getAction() & ev.getActionMasked()) { case MotionEvent.ACTION_DOWN://Log.e('fly', 'down');mScrollStart = false;if (canScroll()) { dx = (int) ev.getX(); dy = (int) ev.getY(); float scrollPos = (float) getHeight() / getChildView().getHeight(); int barHeight = (int) (scrollPos * getHeight()); //Log.e('fly', scrollPos+', '+ barHeight); mBarRect.left = getWidth() - mRightPadding - getVerticalScrollbarWidth(); mBarRect.right = getWidth() - mRightPadding; mBarRect.top = (int) (getScrollY() * scrollPos); mBarRect.bottom = mBarRect.top + barHeight; //Dbg.print(mBarRect.left, mBarRect.right, mBarRect.top, mBarRect.bottom, dx, dy); if (dx >= mBarRect.left - mScrollExWidth && dx < mBarRect.right && dy >= mBarRect.top - mScrollExHeight && dy < mBarRect.bottom + mScrollExHeight) {//Log.e('fly', 'mScrollStart');mScrollStart = true; }}break; case MotionEvent.ACTION_MOVE:if (mScrollStart) { int offsetY = (int) ev.getY() - dy; //Log.e('fly', 'move: ' + ev.getY()); int top = mBarRect.top + offsetY; float scrollPos = (float) top / getHeight(); int scrollY = (int) (scrollPos * getChildView().getHeight()); if (scrollY < 0) {scrollY = 0; } if (scrollY > getChildView().getHeight() - getHeight()) {scrollY = getChildView().getHeight() - getHeight(); } setScrollY(scrollY); return true;}break;}return super.dispatchTouchEvent(ev); } private boolean canScroll() {View child = getChildView();if (child != null && child.getHeight() > getHeight()) { return true;} else { return false;} } private View getChildView() {if (getChildCount() > 0) { return getChildAt(0);} else { return null;} } private int dip2px(float dpValue) {final float scale = getContext().getResources().getDisplayMetrics().density;return (int) (dpValue * scale + 0.5f); } /** * 這里不用view的paddding,用于預(yù)留特殊空隙 * * @param mRightPadding */ public void setRightPadding(int mRightPadding) {this.mRightPadding = mRightPadding; }}

布局中設(shè)置了大滾動(dòng)條樣式,滾動(dòng)時(shí)更加明顯:

<com.zwxuf.apkparserdemo.FastScrollViewandroid:id='@+id/mScrollView'android:layout_width='0dp'android:layout_weight='1'android:scrollbarSize='10dp' android:paddingRight='10dp'android:scrollbarThumbVertical='@drawable/fast_scroll_thumb_drawable'android:layout_height='match_parent'> <HorizontalScrollViewandroid:layout_width='match_parent'android:layout_height='match_parent' > <EditTextandroid:id='@+id/et_xml'android:layout_width='wrap_content'android:layout_height='wrap_content'android:background='@null'android:editable='false'android:textColor='#000000'android:textSize='10sp'android:typeface='monospace'/></HorizontalScrollView> </com.zwxuf.apkparserdemo.FastScrollView>

同理,可以依此制作快速滾動(dòng)的 HorizontalScrollView。

到此這篇關(guān)于Android實(shí)現(xiàn)快速滾動(dòng)FastScrollView的文章就介紹到這了,更多相關(guān)android滾動(dòng)FastScrollView內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: www.一区二区三区 | 国产精品果冻传媒在线 | 欧美黑人一级做a爱性色 | 高h猛烈做哭bl壮汉受欧美 | 1313午夜精品美女爱做视频 | 欧美a级成人淫片免费看 | 九九视频高清视频免费观看 | 精品欧美一区二区在线观看 | 91尤物在线视频 | 我想看黄色一级片 | 久久精品国产丝袜 | 在线伊人 | 色图在线观看 | 亚洲精品视频在线观看视频 | 99视频在线永久免费观看 | 日本不卡中文字幕一区二区 | 亚洲综合丁香婷婷六月香 | 久久色国产 | 快使劲弄我视频在线播放 | 俺来也俺来也天天夜夜视频 | 日韩免费高清一级毛片久久 | 亚洲国产成人久久综合碰 | 国产精品第2页 | 久久精品国产一区二区 | 日韩a级毛片免费视频 | 午夜特级毛片 | 成人精品一区二区激情 | 视频一区二区三区免费观看 | 国产精品一区二区国产 | 在浴室边摸边吃奶边做视频 | 全部免费特黄特色大片视频 | 伊人二区| 婷婷黄色 | 亚洲国产成人精品激情 | 黄色片视频在线播放 | 国产色婷婷精品综合在线 | 91av小视频| 欧美一区二区在线视频 | 国产精品推荐 | 国产一区免费视频 | 国产日本在线视频 |