Android自定义View中,会使用到Paint相关的操作,记录下文字相关的操作
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStrokeWidth(40);
paint.setAntiAlias(true);
paint.setTextAlign(Paint.Align.CENTER);
paint.setTextSize(100);
paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD_ITALIC));
paint.setFakeBoldText(true);
paint.setUnderlineText(true);
paint.setTextSkewX(-4);
paint.setStrikeThruText(true);
paint.setTextScaleX(2);
paint.setStyle(Paint.Style.FILL);
1. 实现字体垂直居中(1)x 轴居中:x轴居中.png@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);//拿到字符串的宽度float stringWidth = mPaint.measureText(text);float x =(getWidth()-stringWidth)/2;canvas.drawTe...
调用 Canvas.drawText() 可以在给定的 x、y 坐标使用给定的 Paint 对象绘制出给定的文字。其中 x 就是文字在 x 轴的起始坐标,而 y 则是文字基准线 baseline 的 y 轴坐标。可以从注释中提取出下图信息:需要注意的是,用 decent - accent 求出的是正常文字高度,而 bottom - top 求出的是最大文字高度。
在Android SDK中使用Typeface类来定义字体,可以通过常用字体类型名称进行设置,如设置默认黑体:
Paint mp = new paint();
mp.setTypeface(Typeface.DEFAULT_BOLD)
常用的字体类型名称还有:
最近在自定义View中绘制文字的时候遇到需要测量文字的情况,查了一些资料,写下以备用。API介绍FontMetrics API.PNG字体有6个参数:baselineascentbottomdescentleadingtopbaseline基线的定义The invisible line where all characters sit.Definition: In typography, the ...
在Android开发中,如果你想要设置文本内容,那么你必须了解如何使用Paint绘制文本,否则你的应用程序可能会出现各种问题。在使用TextPaint类绘制文本之前,你需要准备好要绘制的文本,并将其转换为一个String对象。接下来,你需要设置TextPaint的属性,例如字体、字号、颜色等,以便绘制出你想要的文本。当然,在实际开发中,你可能需要更多的文本属性和功能,例如文本旋转、文本缩放、文本渐变等。3.设置Paint属性:设置Paint的属性,例如字体、字号、颜色等,以便绘制出你想要的文本。
package com.test.android.textview;import android.content.Context;import android.graphics.Paint;import android.util.AttributeSet;import android.widget.TextView;public class CustomTextView extends TextV...
在很多时间我们的UI设计师都会只设计一套图,用的字体还是pingfang的,而pingfang字体有一种粗体是PingFangSC-Medium,这在Android是没有的,那怎么办呢?mBoldWidth就是画笔粗细,默认0.8,差不多就相当于PingFangSC-Medium,如果感觉不合适可以随便调整。
给TextView 的 TextPaint 设置 伪粗体 setFakeBoldText(true)
给TextView 的 TextPaint 设置文字边框宽度 setStrokeWidth(1.2f)
kotlin代码如下:
textView.paint.isFakeBoldText = true
textView.postInvalidate() // 或者 textVi
一、Android中Paint字体属性的设置:
在Android SDK中使用Typeface类来定义字体,可以通过常用字体类型名称进行设置,如设置默认黑体:
Paint mp = new paint();
mp.setTypeface(Typeface.DEFAULT_BOLD)
常用的字体类型名称还有:
* Typeface.DEFAULT //常规字体类型
需求自适应大小的文本:效果图:项目开发中,开发人员根据UI人员提供的一套尺寸,布局了一些带文本的页面,往往会少考虑一些数据极限的问题,造成机型屏幕适配问题。例如:文本(或数值)长度可变,如经验值、金币数量等,如果页面同一高度使用了多个Textview布局摆放,当Textview文本长度增加时,有可能造成重叠现象。例子还有很多,相信很多开发人员也都曾遇到过。今天我们就写一个简单的例子,解决该问题。我...
1、Paint画笔
Paint是画笔,是自定义View中最基本的东西。下面是它的一些相关Api。
val mPaint: Paint = Paint() //新建画笔
mPaint.color = Color.RED //设置颜色
mPaint.setARGB(255, 255, 255, 0)//设置Paint对象颜色,范围为0-255
mPaint.alpha = 200 //设置alpha
DisplayMetrics displayMetrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
2.计算与你开发时设定的屏幕大小的纵横比(这里假设你开发时定的屏幕大小是480*800