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中html.fromhtml的使用方法,包括了Android中html.fromhtml的使用方法的使用技巧和注意事项,需要的朋友参考一下 Android中html.fromhtml 在android中,有一个容易遗忘的Html.fromhtml方法,意思是可以将比如文本 框中的字符串进行HTML格式化,支持的还是很多的, 但要注意的是要在string.xml中用<
本文向大家介绍Android中Blade的使用方法,包括了Android中Blade的使用方法的使用技巧和注意事项,需要的朋友参考一下 启动Activity并传递参数 Extra 正常情况下启动Activity并且传递参数的代码: 使用Blade启动Activity的方式 通过上面的代码就会自动生成一个如下两个方法 然后我们就可以直接通过 I.startLoginActivity 来启动Activ
本文向大家介绍Android 中Context的使用方法详解,包括了Android 中Context的使用方法详解的使用技巧和注意事项,需要的朋友参考一下 Android 中Context的使用方法详解 概要: Context字面意思是上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄。很多方法
本文向大家介绍Android中通知Notification的使用方法,包括了Android中通知Notification的使用方法的使用技巧和注意事项,需要的朋友参考一下 每个使用Android手机的人应该对Android中的通知不陌生,下面我们就学习一下怎么使用Android中的通知。 一、通知的基本用法 活动、广播接收器和服务中都可以创建通知,由于我们一般在程序进入后台后才使用通知,所以真实场
本文向大家介绍Android中使用AndroidTestCase的方法实例,包括了Android中使用AndroidTestCase的方法实例的使用技巧和注意事项,需要的朋友参考一下 Android 使用 AndroidTestCase 的步骤 1.新建一个类继承 AndroidTestCase 2.修改 AndroidManifest.xml 文件 在application 内部添加 appli
本文向大家介绍详解Android中Notification的使用方法,包括了详解Android中Notification的使用方法的使用技巧和注意事项,需要的朋友参考一下 在消息通知的时候,我们经常用到两个控件Notification和Toast。特别是重要的和需要长时间显示的信息,用Notification最合适不过了。他可以在顶部显示一个图标以标示有了新的通知,当我们拉下通知栏的时
本文向大家介绍详解Android中AsyncTask的使用方法,包括了详解Android中AsyncTask的使用方法的使用技巧和注意事项,需要的朋友参考一下 在Android中实现异步任务机制有两种方式,Handler和AsyncTask。 Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,
问题内容: 我正在尝试调用我编写的方法。它只编译一行… 我不是最好的Java专家,但我认为像这样调用该方法将得到响应。不显示“ Hello”,但是… 如何正确调用该方法? 问题答案: 编辑:毫无疑问,这个答案仅解决了为什么您遇到编译时错误。它 没有 解决您在Android中的哪个线程以及什么时间应该做什么。 我个人建议您暂时放下Android,在更简单的环境(例如控制台应用程序)中学习Java,然