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
相关文章:
如何彻底卸载建站之星软件?
如何高效搭建专业期货交易平台网站?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
,柠檬视频怎样兑换vip?
如何用已有域名快速搭建网站?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
html制作网站的步骤有哪些,iapp如何添加网页?
如何彻底删除建站之星生成的Banner?
如何通过服务器快速搭建网站?完整步骤解析
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
婚礼视频制作网站,学习*后期制作的网站有哪些?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
如何通过免费商城建站系统源码自定义网站主题与功能?
,sp开头的版面叫什么?
Python路径拼接规范_跨平台处理说明【指导】
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
h5在线制作网站电脑版下载,h5网页制作软件?
如何基于云服务器快速搭建网站及云盘系统?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
代购小票制作网站有哪些,购物小票的简要说明?
建站之星如何通过成品分离优化网站效率?
建站之星安装路径如何正确选择及配置?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
如何在Golang中使用replace替换模块_指定本地或远程路径
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
太原网站制作公司有哪些,网约车营运证查询官网?
如何快速搭建高效香港服务器网站?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何配置支付宝与微信支付功能?
移民网站制作流程,怎么看加拿大移民官网?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
测试制作网站有哪些,测试性取向的权威测试或者网站?
如何选择网络建站服务器?高效建站必看指南
定制建站价位费用解析与套餐推荐全攻略
宝塔Windows建站如何避免显示默认IIS页面?
宝塔新建站点报错如何解决?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
如何选购建站域名与空间?自助平台全解析
已有域名能否直接搭建网站?
建站之星伪静态规则如何设置?
如何零基础在云服务器搭建WordPress站点?
网站按钮制作软件,如何实现网页中按钮的自动点击?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何用VPS主机快速搭建个人网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。