Android 中View.onDraw(Canvas canvas)的使用方法
程序员文章站
2023-12-15 15:47:04
android 中view.ondraw(canvas canvas)的使用方法
view通过view.ondraw(canvas canvas)来draw.
我们可以...
android 中view.ondraw(canvas canvas)的使用方法
view通过view.ondraw(canvas canvas)来draw.
我们可以定义自己的继承于view的testview,然后重载view.ondraw(canvas canvas).
对于自定义的testview如何与activity关联?有以下两种方式:
- 直接在setcontentview(view view)里面加进去自定义的view:setcontentview(new testview(this)).
- 另外,可以在layout文件里面可以使用自定义的view(如何自定义的view为内部类,就会失效),
如:
<?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 中View.onDraw(Canvas canvas)的使用方法
-
详解Android中Intent的使用方法
-
html5使用Canvas绘图的使用方法
-
详解Android中IntentService的使用方法
-
详解Android中Handler的使用方法
-
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
-
使用HTML5 Canvas API中的clip()方法裁剪区域图像
-
HTML5 Canvas API中drawImage()方法的使用实例
-
HTML5中canvas中的beginPath()和closePath()的重要性
-
Android 中RxPermissions 的使用方法详解