测试
来源:互联网 发布:淘宝2017双十一 编辑:程序博客网 时间:2024/05/22 12:01
标题二
标题1
列表内容
代码
/** * 将点击事件交给手势处理器 * @param event * @return */ @Override public boolean onTouchEvent(MotionEvent event) { mGestureDetector.onTouchEvent(event); switch (event.getAction()){ case MotionEvent.ACTION_UP: //1.获取屏幕左上角的点 int scrollX = getScrollX(); mWidth = getWidth(); // System.out.println("scrollX:"+scrollX+" "+"width:"+width); int position = (scrollX + mWidth/2)/mWidth<getChildCount()?(scrollX + mWidth/2)/mWidth:getChildCount()-1;// scrollTo(position*mWidth,0); //使用scroller进行切换的滑动 scrollToItem(position); break; } return true; } public void scrollToItem(int position) { // 10 11 。。。100 // startX:起始的值 10 // startY:0 // dx:偏移值 = 结束点 - 起始点 = 90 // dy:0 // duration int mstartX = getScrollX(); int mstartY = 0; int dx = position*mWidth-mstartX; int dy = 0; Log.d(TAG, "scrollToItem,getscrollx:"+mstartX+" postion:"+position+" dx:"+dx+" mWidth:"+mWidth); int mduration = Math.abs(dx*2)>600?600:Math.abs(dx*2); mScroller.startScroll(mstartX,mstartY,dx,dy,mduration);// 调用一次computeScroll()方法 invalidate(); if (mPositionChangeListener!=null) { mPositionChangeListener.onChange(this,position); } } @Override public void computeScroll() { if (mScroller.computeScrollOffset()) { int currX = mScroller.getCurrX(); scrollTo(currX,0); //TODO invalidate 方法的运行逻辑? invalidate(); } } interface onPositionChangeListener{ void onChange(ViewGroup viewGroup,int position); } public void setOnPositionChangeListener(onPositionChangeListener listener){ this.mPositionChangeListener = listener; }
阅读全文
0 0
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试
- 测试~!
- 测试
- 测试
- 测试
- 测试
- 【共勉】Hi,别总低头写代码!请查收你的新人指导...
- 显性的调用构造函数(感觉没太大用处)
- SVN 第一次提交代码
- git工具使用
- nginx启用HSTS以支持从http到https不通过服务端而自动跳转
- 测试
- ssh-ssh整合(Struts2+Spring+Hibernate)
- [leetcode]: Reverse Linked List
- Binder驱动
- MiCO系统开发MiCoder-IDE安装遇到的坑
- C++实验五-数组分为奇偶两组
- 17.5.18E
- Shell常用语法归集
- Struts2 Namespace_命名空间