改变viewpager滑动速度
2017-03-26 19:26
549 查看
1.自定义Scroller
2.使用,这里我自定义title,将文字改为图片
public class FixedSpeedScroller extends Scroller { private int mDuration = 1500; public FixedSpeedScroller(Context context) { super(context); } public FixedSpeedScroller(Context context, Interpolator interpolator) { super(context, interpolator); } @Override public void startScroll(int startX, int startY, int dx, int dy, int duration) { // Ignore received duration, use fixed one instead super.startScroll(startX, startY, dx, dy, mDuration); } @Override public void startScroll(int startX, int startY, int dx, int dy) { // Ignore received duration, use fixed one instead super.startScroll(startX, startY, dx, dy, mDuration); } public void setmDuration(int time) { mDuration = time; } public int getmDuration() { return mDuration; } }
2.使用,这里我自定义title,将文字改为图片
public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; @BindView(R.id.tab_layout) TabLayout mTabLayout; @BindView(R.id.view_pager) ViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); MyPageAdapter adapter = new MyPageAdapter(getSupportFragmentManager()); mViewPager.setAdapter(adapter); mTabLayout.setupWithViewPager(mViewPager); //ViewPager的setCurrentItem 滑动速度是写死地 try { Field field = ViewPager.class.getDeclaredField("mScroller"); field.setAccessible(true); FixedSpeedScroller scroller = new FixedSpeedScroller(mViewPager.getContext(), new AccelerateInterpolator()); field.set(mViewPager, scroller); scroller.setmDuration(1000); } catch (Exception e) { Log.d(TAG, "onCreate " + e); } //设置title的自定义view mTabLayout.getTabAt(0).setCustomView(getTabView(0)); mTabLayout.getTabAt(1).setCustomView(getTabView(1)); mTabLayout.getTabAt(2).setCustomView(getTabView(2)); mTabLayout.setOnTabSelectedListener(mOnPageChangeListener); } private View getTabView(int i) { int resId = 0; switch (i) { case 0: resId = R.mipmap.widget_bar_news_nor; break; case 1: resId = R.mipmap.widget_bar_explore_nor; break; case 2: resId = R.mipmap.widget_bar_me_nor; break; } ImageView imageView = new ImageView(this); imageView.setImageResource(resId); return imageView; }
相关文章推荐
- 改变viewPager滑动的速度,利用反射完美实现
- 改变ViewPager滑动速度
- Android 顶部轮播 JazzyViewPager 改变滑动速度
- 怎么设置viewpager在使用setCurrentItem的滑动速度
- ViewPager切换滑动速度修改
- Viewpager自动轮播,可修改滑动速度
- Android ViewPager 修改滑动速度
- 修改ScrollView的滑动速度和解决ScrollView与ViewPager的冲突
- Android 超简单音乐播放器(一)主界面嘛(fragment+ViewPage)(View Pager滑动)( 标题栏的隐藏和状态栏的改变)
- Android 改变Viewpager的滚动速度
- 怎样控制viewpager的滑动速度
- ViewPager 滑动速度设置
- 改变ViewPager的内容之间切换动画的速度
- Android 自定义Viewpager滑动速度
- android 设置viewpager滑动速度
- Android——UI篇:ViewPager轮播图控制滑动速度
- Viewpager切换滑动速度的修改
- 怎么设ViewPager的滑动速度,自动循环时让它在1~2秒切换完,手动滑动时会迅速切换完成
- ViewPager切换滑动速度
- android 改变ViewPager切换页面时的速度