美文网首页
字体大小自适应TextView

字体大小自适应TextView

作者: SMSM | 来源:发表于2017-12-26 14:22 被阅读124次

    Android中测量Text的宽度和高度

    字体属性及测量——FontMetrics

    限制条件:宽度、高度

    h = fontMetricsInt.bottom - fontMetricsInt.top; 就是TextView的高度,包含了字高、边距、居中是由布局决定的

    打印基线
        private boolean adjustTopForAscent = true;
        private Paint.FontMetricsInt fontMetricsInt;
    
        @Override
        protected void onDraw(Canvas canvas) {
            //设置是否remove间距,true为remove
            if (adjustTopForAscent) {
                fontMetricsInt = new Paint.FontMetricsInt();
                getPaint().getFontMetricsInt(fontMetricsInt);
    
                Rect rect = new Rect(0, 0, getWidth(), fontMetricsInt.bottom);
                Log.d("smarking", "onDraw " + rect.toString());
                Paint paint = new Paint();
                paint.setColor(getResources().getColor(R.color.cffff00));
                paint.setStrokeWidth(1);
                canvas.drawRect(rect, paint);
    
                paint.setColor(getResources().getColor(R.color.colorPrimary));
    
                canvas.drawLine((float) 0, (float) 0, (float) getWidth(), (float) 0, paint);
    
                canvas.drawLine((float) 0, -(fontMetricsInt.top - fontMetricsInt.ascent), (float) getWidth(), -(fontMetricsInt.top - fontMetricsInt.ascent), paint);
    
                canvas.drawLine((float) 0, -(fontMetricsInt.top - fontMetricsInt.leading), (float) getWidth(), -(fontMetricsInt.top - fontMetricsInt.leading), paint);
    
                canvas.drawLine((float) 0, -(fontMetricsInt.top - fontMetricsInt.descent), (float) getWidth(), -(fontMetricsInt.top - fontMetricsInt.descent), paint);
    
                canvas.drawLine((float) 0, -(fontMetricsInt.top - fontMetricsInt.bottom), (float) getWidth(), -(fontMetricsInt.top - fontMetricsInt.bottom), paint);
    
    //          canvas.translate(0, -(fontMetricsInt.bottom));
            }
            super.onDraw(canvas);
        }
    

    相关文章

      网友评论

          本文标题:字体大小自适应TextView

          本文链接:https://www.haomeiwen.com/subject/dsadgxtx.html