Android 中View.onDraw(Canvas canvas)的使用方法

View通过View.onDraw(Canvas canvas)来Draw.
我们可以定义自己的继承于View的TestView,然后重载View.onDraw(Canvas canvas).
对于自定义的TestView如何与Activity关联?有以下两种方式:
如:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.test.TestView
android:id="@+id/testview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</FrameLayout>
以下为使用onDraw(Canvas canvas)画矩形区域,及在其上画文本的实例(通过使用内部类使程序显得更加简洁,紧凑):
package com.android.test;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
public class TestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new TestView(this));
}
public class TestView extends View {
private Paint mPaint = new Paint();
public TestView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
String text = "Android - 机器人";
mPaint.setColor(Color.WHITE);
Paint paint = new Paint();
paint.setColor(Color.RED);
String familyName = "宋体";
Typeface font = Typeface.create(familyName,Typeface.BOLD);
paint.setTypeface(font);
paint.setTextSize(22);
canvas.drawRect(new Rect(0, 0, 320, 240), mPaint);
canvas.drawText(text, 0, 100, paint);
}
}
}
运行效果如下图:
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# Canvas的使用
# Canvas中View.onDraw使用方法
# Android 重写ViewGroup 分析onMeasure()和onLayout()方法
# Android View.onMeasure方法详解及实例
# Android ListView 和ScroolView 出现onmeasure空指针的解决办法
# Android 通过onDraw实现在View中绘图操作的示例
# Android onMeasure与onDraw及自定义属性使用示例
# 自定义
# 自己的
# 就会
# 如有
# 两种
# 我们可以
# 希望能
# 可以使用
# 谢谢大家
# 如下图
# 宋体
# 上画
# 疑问请
# layout_width
相关文章:
桂林网站制作公司有哪些,桂林马拉松怎么报名?
常州自助建站工具推荐:低成本搭建与模板选择技巧
深圳网站制作的公司有哪些,dido官方网站?
建站之星CMS建站配置指南:模板选择与SEO优化技巧
浅析上传头像示例及其注意事项
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
常州自助建站费用包含哪些项目?
建站主机是什么?如何选择适合的建站主机?
h5网站制作工具有哪些,h5页面制作工具有哪些?
如何快速查询网站的真实建站时间?
建站DNS解析失败?如何正确配置域名服务器?
如何通过虚拟主机快速搭建个人网站?
如何获取上海专业网站定制建站电话?
,交易猫的商品怎么发布到网站上去?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
微信小程序 input输入框控件详解及实例(多种示例)
如何使用Golang table-driven基准测试_多组数据测量函数效率
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
黑客如何通过漏洞一步步攻陷网站服务器?
如何快速建站并高效导出源代码?
如何通过西部数码建站助手快速创建专业网站?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
学校为何禁止电信移动建设网站?
山东网站制作公司有哪些,山东大源集团官网?
西安专业网站制作公司有哪些,陕西省建行官方网站?
家具网站制作软件,家具厂怎么跑业务?
做企业网站制作流程,企业网站制作基本流程有哪些?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
如何通过二级域名建站提升品牌影响力?
图册素材网站设计制作软件,图册的导出方式有几种?
XML的“混合内容”是什么 怎么用DTD或XSD定义
,在苏州找工作,上哪个网站比较好?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
如何在服务器上三步完成建站并提升流量?
制作证书网站有哪些,全国城建培训中心证书查询官网?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
如何快速搭建高效WAP手机网站?
如何选择CMS系统实现快速建站与SEO优化?
如何解决VPS建站LNMP环境配置常见问题?
高性价比服务器租赁——企业级配置与24小时运维服务
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Python文件管理规范_工程实践说明【指导】
开源网站制作软件,开源网站什么意思?
网站制作说明怎么写,简述网页设计的流程并说明原因?
建站主机选虚拟主机还是云服务器更好?
如何在云服务器上快速搭建个人网站?
建站之星logo尺寸如何设置最合适?
*请认真填写需求信息,我们会在24小时内与您取得联系。