字体大小_Android自定义实现字体大小修改

简单记录下今天做的自定义字体大小修改的功能

需求:添加具体字体自定义大小功能、不需要跟随系统字体大小改变而改变
1.首先看一下用到的调节字体大小的控件:

ebc05a32ce9892dac27b78f839d84b38.png

控件继承自系统的SeekBar,添加了刻度、文字代码如下:

/** * Des: */public class RaeSeekBar extends AppCompatSeekBar {
        //  刻度说明文本,数组数量跟刻度数量一致,跟mTextSize的长度要一致    private String[] mTickMarkTitles = new String[]{
                "A",            "标准",            "",            "A"    };    // 刻度代表的字体大小    private float[] mTextSize = new float[]{
                0.8f,            1.0f,            1.15f,            1.3f    };    // 刻度画笔    private final Paint mTickMarkTitlePaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);    //文本画笔    private final Paint mTitlePaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);    //  刻度文本字体大小    private float mTickMarkTitleTextSize = 18;    // 刻度文本跟刻度之间的间隔    private float mOffsetY = 40;    // 刻度线的高度    private int mLineHeight = 10;    // 保存位置大小信息    private final Rect mRect = new Rect();    private int mThumbHeight;    private int mThumbWidth;    public RaeSeekBar(Context context) {
            this(context, null);    }    public RaeSeekBar(Context context, AttributeSet attrs) {
            this(context, attrs, 0);    }    public RaeSeekBar(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);        init();    }    protected void init() {
            mTickMarkTitleTextSize = getSize(mTickMarkTitleTextSize);        mOffsetY = getSize(mOffsetY);        mLineHeight = getSize(mLineHeight);        mTickMarkTitlePaint.setTextAlign(Paint.Align.CENTER);        mTickMarkTitlePaint.setColor(ContextCompat.getColor(getContext(), R.color.color_66989FC3));        mTitlePaint.setTextAlign(Paint.Align.CENTER);        mTitlePaint.setColor(ContextCompat.getColor(getContext(), R.color.color_303132));    }    @Override    protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);        int max = getMax();        int width = can
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值