自定义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流程, ...
随机推荐
- CreateProcess启动隐藏的外部程序(其实就是CreateDesktop,然后指定STARTUPINFO.lpDesktop)
HDESK hDesk = CreateDesktop(_T("MyDesk"), NULL, NULL, 0, GENERIC_ALL, NULL); ASSERT(hDesk) ...
- mysql C api
1.初始化一个链接结构. 2.创建一个链接. 3.执行查询. 4.关闭链接. MYSQL* conn; 首先,声明一个conn指针指向一个MYSQL结构体,这个结构体就是一个数据库连接句柄. conn ...
- 《MySQL悲观锁总结和实践》乐观锁
mysql乐观锁总结和实践 博客分类: MyBatis 数据库 mysql数据库乐观锁悲观锁 上一篇文章<MySQL悲观锁总结和实践>谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景 ...
- JSP的设计模式
1.JSP模型1(JSP+JavaBean) JSP页面负责处理请求,并将响应发送给客户端.JSP页面文件包括:login.html.loginchk.jsp.welcome.jsp.JavaBean ...
- Myeclipse 自定义代码自动格式化(ctrl+alt+F)
打开如图界面:preference->java->code style->formatter下的edit... 如设设置java代码多长换行:
- SpringMVC整合Shiro——(3)
SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能. 第一步:配置web.xml <!-- 配置Shiro过滤器,先让Shiro ...
- dojo 七 DOM dojo/dom
官方教程:Dojo DOM Functions对dom的使用,需要引用包dojo/dom.1.获取节点,dom.byIdbyId中既可以传递一个字符串,也可以传递一个节点对象 require([&qu ...
- POJ -3190 Stall Reservations (贪心+优先队列)
http://poj.org/problem?id=3190 有n头挑剔的奶牛,只会在一个精确时间挤奶,而一头奶牛需要占用一个畜栏,并且不会和其他奶牛分享,每头奶牛都会有一个开始时间和结束时间,问至少 ...
- 【HDOJ】3901 Wildcard
1. 题目描述有两个长度为$10^5$的字符串,其中一个仅包含小写字母,称之为源串:另一个包含?与*通配符的模式串,并且通配符的个数不超过10.求模式串是否能匹配源串? 2. 基本思路这其实是一道Re ...
- dom4j API使用简介
dom4j API使用简介 功能简介 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极 ...