自定义View绘制字符串
import android.app.Activity;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.FontMetrics; public class MainActivity extends Activity { public int nScreenWidth = 0;
public int nScreenHeight = 0;
Paint paint = null; @Override
protected void onCreate(Bundle savedInstanceState) { // 获取屏幕宽高
Display display = getWindowManager().getDefaultDisplay();
nScreenWidth = display.getWidth();
nScreenHeight = display.getHeight(); super.onCreate(savedInstanceState);
setContentView(new FontView(this));
} // 自定义的View
class FontView extends View {
public final static String STR_WIDTH = "获取字符宽度为:";
public final static String STR_HEIGHT = "获取字符高度为:"; public FontView(Context context) {
super(context);
// TODO Auto-generated constructor stub
paint = new Paint();
} @Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 设置背景色
setBackgroundColor(Color.BLACK); // 设置字符串颜色
paint.setColor(Color.WHITE);
canvas.drawText("当前屏幕宽"+nScreenWidth, 0, 30, paint);
canvas.drawText("当前屏幕高"+nScreenHeight, 0, 60, paint); // 设置字体大小
paint.setColor(Color.RED);
paint.setTextSize(18);
canvas.drawText("字体大小为18", 0, 90, paint); // 消除字体锯齿
paint.setFlags(Paint.ANTI_ALIAS_FLAG);
canvas.drawText("消除字体锯齿", 0, 120, paint); // 获取字符串宽度
canvas.drawText(STR_WIDTH + getStringWidth(STR_WIDTH), 0, 150, paint); // 获取字体高度
canvas.drawText(STR_HEIGHT + getFontHeight() , 0, 180, paint); } // 获取字体串宽度
private int getStringWidth(String str) {
return (int) paint.measureText(str);
} // 获取字体高度
private int getFontHeight() {
FontMetrics fm = paint.getFontMetrics();
return (int) Math.ceil(fm.descent - fm.top) + 2;
}
}
}

自定义View绘制字符串的更多相关文章
- Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解
Android绘图机制(二)--自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解 我们要想画好一些炫酷的View,首先我们得知道怎么去画一些基础的图案,比如矩形,圆 ...
- Android 自定义 View 绘制
在 Android 自定义View 里面,介绍了自定义的View的基本概念.同时在 Android 控件架构及View.ViewGroup的测量 里面介绍了 Android 的坐标系 View.Vie ...
- android自定义View绘制天气温度曲线
原文:android自定义View绘制天气温度曲线 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012942410/article/detail ...
- Cavace 自定义View绘制
一.开发资料与实例教程1.跟囧猫学之Canvas.Matrix 倒影实例教程 http://www.eoeandroid.com/thread-158506-1-1.html 2.Gridview 控 ...
- android自定义View绘制圆形头像与椭圆头像
要实现这两种效果,需要自定义View,并且有两种实现方式. 第一种: public class BitmapShaders extends View { private BitmapSh ...
- 自定义View绘制简单的圆环的实现
package com.loaderman.mywave; import android.content.Context; import android.graphics.Canvas; import ...
- 自定义View—绘制基本图形
一.Canvas能够绘制哪些图形 二.
- Android 使用View绘制文字(DrawText)技术总结
转载请注明出处: http://www.cnblogs.com/renhui/p/7453534.html 这里的绘制文字不是直接调用TextView.setText(String content)去 ...
- 【朝花夕拾】Android自定义View篇之(二)Canvas常用功能
前言 转在请申明,转自[https://www.cnblogs.com/andy-songwei/p/10960012.html],谢谢! 上一篇讲View的绘制流程中讲到过,最后一步是draw流程, ...
随机推荐
- Python模块包中__init__.py文件的作用
转载自:http://hi.baidu.com/tjuer/item/ba37ac4ce7482a0f6dc2f08b 模块包: 包通常总是一个目录,目录下为首的一个文件便是 __init__.py. ...
- Qt 显示图片 放大 缩小 移动(都是QT直接提供的功能)
本文章原创于www.yafeilinux.com 转载请注明出处. 现在我们来实现在窗口上显示图片,并学习怎样将图片进行平移,缩放,旋转和扭曲.这里我们是利用QPixmap类来实现图片显示的. 一.利 ...
- TForm的显示过程
新建一个空窗体项目,然后运行,此时首先运行: procedure TApplication.Run; begin FRunning := True; try AddExitProc(DoneAppli ...
- WordPress主题制作教程6:常用模版标签
在wordpress中,模板标签指一些字段,比如标题,内容,作者,发布日期,评论数等等,获取静态值和循环里面经常使用. 输出模板标签一般有两种方式:the_yourtag() 输出标签值和get_th ...
- swift:入门知识之类和对象
1.swift中使用class创建一个类.一个类的声明则是在类里作为常量或变量声明的,除了是在类的上下文中.在方法和函数中也是这么写的. 2.swift中使用init(...)作为初始化构造函数 3. ...
- WordPress搭建Personal Blog 个人博客
早就想搭建一个专属于自己的博客了,用来记录自己生活.学习的点点滴滴.之所以选WordPress,主要是因为它可以支持Latex,而且特别喜欢其简约的风格. WordPress有个the famous ...
- JAVASCRIPT和JQUERY判断浏览器信息总汇(备忘)
<script type="text/javascript"> //jquery判断浏览器信息 $(function(){ ...
- USACO Section 3.3: Home on the Range
到最后发现是DP题 /* ID: yingzho1 LANG: C++ TASK: range */ #include <iostream> #include <fstream> ...
- Case 架构的实际应用-1
We use testlink to manage cases, and the frame is below: Project Name -All Features(Modules) -Featur ...
- 你猜……你再猜
『男』:你喜欢我吗? 『女』:你猜. 『男』:喜欢. 『女』:你再猜. 『男』:--