MagicIndicator icon indicating copy to clipboard operation
MagicIndicator copied to clipboard

我如何画一个矩形和您的demo里面的viewpage指示器一样 和那么圆一起移动

Open xyZangGit opened this issue 6 years ago • 2 comments

mPaintIndicator.setStyle(Paint.Style.FILL); if (mCirclePoints.size() > 0) { canvas.drawCircle(mIndicatorX, (int) (getHeight() / 2.0f + 0.5f), mRadius, mPaintIndicator); } 下面是我画矩形的代码 if (mCirclePoints.size() > 0) { mPaintIndicator.setAntiAlias(true);// 设置画笔的锯齿效果

        RectF oval3 = new RectF(80, 260, 200, 300);// 设置个新的长方形
        canvas.drawRoundRect(oval3, 20, 15, mPaintIndicator);//第二个参数是x半径,第三个参数是y半径
    }

xyZangGit avatar Dec 13 '18 02:12 xyZangGit

设置一下radius和高度就好了,不用画的,效果是一个蓝色方块移动,参考以下getIndicator方法 例子:

CommonNavigator commonNavigator = new CommonNavigator(context);
        commonNavigator.setAdapter(new CommonNavigatorAdapter() {
            @Override
            public int getCount() {
                return data == null ? 0 : data.size();
            }

            @Override
            public IPagerTitleView getTitleView(Context context, final int index) {
                ClipPagerTitleView clipPagerTitleView = new ClipPagerTitleView(context);
                clipPagerTitleView.setText(tabName[index]);
                clipPagerTitleView.setTextSize(UIUtil.dip2px(context, 14));
                clipPagerTitleView.setTextColor(Color.parseColor("#7f020004"));
                clipPagerTitleView.setClipColor(Color.WHITE);
                clipPagerTitleView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        vpJdq.setCurrentItem(index);
                    }
                });
                return clipPagerTitleView;
            }

            @Override
            public IPagerIndicator getIndicator(Context context) {
                LinePagerIndicator indicator = new LinePagerIndicator(context);
                float navigatorHeight = context.getResources().getDimension(R.dimen.common_navigator_height) + 5;
                float borderWidth = UIUtil.dip2px(context, 1);
                float lineHeight = navigatorHeight - 2 * borderWidth;
                indicator.setLineHeight(lineHeight);
                indicator.setRoundRadius(0);
                indicator.setYOffset(borderWidth);
                indicator.setColors(Color.parseColor("#40c4ff"));
                return indicator;
            }
        });
        commonNavigator.setAdjustMode(adjustMode);
        magicIndicator.setNavigator(commonNavigator);

g19980115 avatar Dec 25 '18 06:12 g19980115

如果是移出屏幕外的话,左右两边就变成平的了,不是圆角,有没办法设置成左右两边移出屏幕外也是圆角

cbuemc avatar Dec 10 '19 03:12 cbuemc