Android8.1 Launcher3 修改PageIndicatorLineCaret为小圆点

原生Launcher的PageIndicatorLineCaret是横线,而且在手指离开屏幕后会消失。
现在修改为小圆点,不消失,先上图:

直接在原有基础上修改
src/com/android/launcher3/pageindicators/PageIndicatorLineCaret.java

增加两个变量:

//当前页面indexprivate int mActivePage;//小圆点画笔private Paint mDotPaint;

初始化:

mDotPaint = new Paint();mDotPaint.setAntiAlias(true);

src/com/android/launcher3/pageindicators/PageIndicatorLineCaret.java -> onDraw():

 @Override    protected void onDraw(Canvas canvas) {        /* 修改 begin *///        if (mTotalScroll == 0 || mNumPagesFloat == 0) {//            return;//        }        // Compute and draw line rect.        /*float progress = Utilities.boundToRange(((float) mCurrentScroll) / mTotalScroll, 0f, 1f);        int availableWidth = canvas.getWidth();        int lineWidth = (int) (availableWidth / mNumPagesFloat);        int lineLeft = (int) (progress * (availableWidth - lineWidth));        int lineRight = lineLeft + lineWidth;        canvas.drawRect(lineLeft, canvas.getHeight() - mLineHeight, lineRight, canvas.getHeight(),                mLinePaint);*/        int lengh = mNumPages * 20 + (mNumPages - 1) * 30;        int x = (getMeasuredWidth() - lengh) / 2;        for (int i = 0; i < mNumPages; i++) {            if (mActivePage == i) {                mDotPaint.setColor(Color.WHITE);            } else {                mDotPaint.setColor(Color.GRAY);            }            canvas.drawCircle(x, getMeasuredHeight() / 2, 10, mDotPaint);            x += 50;        }        /* 修改 end */    }

记录当前所在页面index:

@Override    public void setActiveMarker(int activePage) {        mActivePage = activePage;    }

大功告成!!!

更多相关文章

  1. [原][Android]All WebView methods must be called on the same
  2. Android避免进入一页面后EditText自动弹出软键盘
  3. viewpage setOnPageChangeListener 监听的详解
  4. android rom 修改
  5. android设置toolbar的menu itemTextView颜色
  6. Android(安卓)8.1 MTK6739平台客制化修改文档
  7. Android中ViewPager的简单使用(底部圆点)
  8. Android(安卓)相对布局中的 代码中修改属性与布局文件的设置不同
  9. Android默认开机横屏

随机推荐

  1. android 学习基础篇---开发环境的搭建 Ec
  2. Android(安卓)绘制动画(波浪动画/轨迹动
  3. android中从图库中选取图片
  4. Android应用开发提高系列(5)——Android动
  5. 详解 Android(安卓)的 Activity 组件
  6. 不用SDK manager 下载 Android(安卓)sdk
  7. Android(安卓)GPS架构分析
  8. android 登陆、注册、并个指定用户充值
  9. Android(安卓)LaunchMode and StartActiv
  10. android adb配置环境变量