测试

来源:互联网 发布:淘宝2017双十一 编辑:程序博客网 时间:2024/05/22 12:01

标题二


标题1

  1. 列表内容

  2. 代码

/**     * 将点击事件交给手势处理器     * @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;    }
原创粉丝点击