viewpager 和滑动条同步滚动

实现上面的radiobutton和viewpager同步滚动太过复杂,请直接使用开源项目PagerSlidingTabStrip

共有6个的页面,导航栏用horizontalscrollview封装radiogroup。点击radiobutton跳转到对应的页面。滑动pager也可以让radiogroup一起滑动。

自定义进度条view,关联viewpager的onPageScolled()方法。onPageScolled中在调用setOffSet()。即可实现滑动条和页面同步滚动。

1public class StripView extends View { 2 3 4 private int mTabNum=6;//标题数目, 5 private int mCurrentNum;//当前所在标题 6 private float mWidth,mTabWidth,mOffSet; 7 private final Paint mPaint= new Paint(Paint.ANTI_ALIAS_FLAG); 8 public StripView(Context context, AttributeSet attrs) { 9 super(context, attrs); 10 } 11 public void setCurrentNum(int n) { 12 mCurrentNum = n; 13 mOffSet = 0; 14 } 15 public void setOffSet(int position,float offset){ 16 if(offset == 0) { 17 return; 18 } 19 mCurrentNum = position; 20 mOffSet=offset; 21 invalidate(); 22 } 23 @Override 24 protected void onDraw(Canvas canvas) { 25 super.onDraw(canvas); 26 mWidth = getWidth(); 27 mTabWidth = mWidth/6; 28 float left = (mCurrentNum + mOffSet) * mTabWidth; 29 30 31 final float top = getPaddingTop(); 32 final float right = left + mTabWidth; 33 final float bottom = getHeight() +getPaddingTop(); 34 mPaint.setColor(getResources().getColor(R.color.cyan)); 35 canvas.drawRect(left, top, right, bottom, mPaint); 36 37 38 } 39}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

Java获得今日零时零分零秒的时间(Date型)

publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS

Python之time模块的时间戳、时间字符串格式化与转换

Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y

viewpager 和滑动条同步滚动 - HelloWorld