导航条中的游标随着导航滑动而滑动

/**
 * 设置每个标题占的宽度
 *
 */

private void initTabLineWidth() {

       //得到屏幕总宽度

        DisplayMetrics dpMetrics = new DisplayMetrics();
        getWindow().getWindowManager().getDefaultDisplay()
                .getMetrics(dpMetrics);
        screenWidth = dpMetrics.widthPixels;

       //给控件 img_ui赋值

        LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) img_ui
                .getLayoutParams();
        lp.width = screenWidth / 4;

        //给 img_ui设置参数

         img_ui.setLayoutParams(lp);
    }



viewpager.setOnPageChangeListener(new OnPageChangeListener() {

            @SuppressLint("NewApi")
            @Override
            public void onPageSelected(int arg0) {
                switch (arg0) {
                case 0:
                    zx.setChecked(true);

                    break;
                case 1:
                    rd.setChecked(true);
                    
                    break;
                case 2:
                    bk.setChecked(true);
                    
                    break;
                case 3:
                    tj.setChecked(true);
                    
                    break;

                default:
                    break;
                }
            }

            /**
             * position :当前页面,及你点击滑动的页面 offset:当前页面偏移的百分比
             * offsetPixels:当前页面偏移的像素位置
             */
            @Override
            public void onPageScrolled(int position, float offset,
                    int offsetPixels) {

                LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) img_ui
                        .getLayoutParams();
                // 获取组件距离左侧组件的距离
                lp.leftMargin = (int) ((offset + position) * screenWidth / 4);

                img_ui.setLayoutParams(lp);

            }

            /**
             * 当滑动状态改变时调用
             *
             * state=0的时候表示什么都没做,就是停在那 state=1的时候表示正在滑动 state==2的时候表示滑动完毕了
             */
            @Override
            public void onPageScrollStateChanged(int arg0) {

            }
        });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值