相关文章推荐
深情的可乐  ·  Android ...·  4 周前    · 
才高八斗的茶叶  ·  android ...·  4 周前    · 
不要命的汉堡包  ·  WebView全面解析 ·  2 周前    · 
阳刚的硬盘  ·  Android TabLayout ...·  2 周前    · 
追风的牛肉面  ·  python 复制粘贴-掘金·  1 年前    · 
打盹的板栗  ·  group by cube vs ...·  1 年前    · 

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); // 设置文字大小 px
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
                                    一、AndroidPaint字体属性的设置:
在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