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,320,240),mPaint); canvas.drawText(text,100,paint); } } }
运行效果如下图:
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
总结以上是内存溢出为你收集整理的Android 中View.onDraw(Canvas canvas)的使用方法全部内容,希望文章能够帮你解决Android 中View.onDraw(Canvas canvas)的使用方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)