- 浏览: 280465 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
jasonking412:
鄙视抄袭,都TMD一样的。
Openfire red5.war下载已经配置 -
xhg19901120:
有没有下载地址啊
【转】Android 多级菜单 -
yxl2005play:
为什么是404?博主,求解
Openfire red5.war下载已经配置 -
tan2416:
回复看看。。。。。
实现在popwindow中展示listview列表 -
liufeng7600:
你好,求教: 我可不可以在pc上用web浏览器访问 Andr ...
android中实现JavaScript与Java之间实现互相调用
- package com.yarin.android.Examples_05_04;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.graphics.Rect;
- import android.view.KeyEvent;
- import android.view.MotionEvent;
- import android.view.View;
- public class GameView extends View implements Runnable {
- /* 声明Paint对象 */
- private Paint mPaint = null ;
- public GameView(Context context) {
- super (context);
- /* 构建对象 */
- mPaint = new Paint();
- /* 开启线程 */
- new Thread( this ).start();
- }
- public void onDraw(Canvas canvas) {
- super .onDraw(canvas);
- /* 设置画布的颜色 */
- canvas.drawColor(Color.BLACK);
- /* 设置取消锯齿效果 */
- mPaint.setAntiAlias(true );
- /* 设置裁剪区域 */
- canvas.clipRect(10 , 10 , 280 , 260 );
- /* 线锁定画布 */
- canvas.save();
- /* 旋转画布 */
- canvas.rotate(45 .0f);
- /* 设置颜色及绘制矩形 */
- mPaint.setColor(Color.RED);
- canvas.drawRect(new Rect( 15 , 15 , 140 , 70 ), mPaint);
- /* 解除画布的锁定 */
- canvas.restore();
- /* 设置颜色及绘制另一个矩形 */
- mPaint.setColor(Color.GREEN);
- canvas.drawRect(new Rect( 150 , 75 , 260 , 120 ), mPaint);
- }
- // 触笔事件
- public boolean onTouchEvent(MotionEvent event) {
- return true ;
- }
- // 按键按下事件
- public boolean onKeyDown( int keyCode, KeyEvent event) {
- return true ;
- }
- // 按键弹起事件
- public boolean onKeyUp( int keyCode, KeyEvent event) {
- return false ;
- }
- public boolean onKeyMultiple( int keyCode, int repeatCount, KeyEvent event) {
- return true ;
- }
- public void run() {
- while (!Thread.currentThread().isInterrupted()) {
- try {
- Thread.sleep(100 );
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- }
- // 使用postInvalidate可以直接在线程中更新界面
- postInvalidate();
- }
- }
- }
不知道大家看完这个例子 有没有 有一些疑问?首先跟大家说明一下 这里 这个
方法 我们都知道它是旋转画布 这里提示一下 它是顺时针旋转。 其实我的疑问就是 下边这2句代码
- //绘制矩形
- canvas.drawRect(new Rect( 150 , 75 , 260 , 120 ), mPaint);
- //设置裁剪区域
- canvas.clipRect(10 , 10 , 280 , 260 );
我对它们的参数有些疑问 我不知道 android 它是怎么在一个 Canvas对象上 绘制出一个矩形?new Rect(150,75,260,120)
里边这些参数 的数字指明了什么那些值?android 绘制一个矩形以哪里为坐标原点? ---》我现在就告诉大家 是以屏幕的左上角。 好 我们现在 就带着疑问来 看看 android到底怎么在画布上 绘制一个矩形
先说这句
这个构造方法需要四个参数这四个参数 指明了什么位置 ?我们就来解释怎么画 这个 矩形
这四个 参数 分别代表的意思是: left top right bottom 上下左右呗。啊,不是 是 左 上 右 下。 下面给大家解释
left : 矩形左边的X坐标 150 ---->图片中的A点
top: 矩形顶部的Y坐标 75 ---->图片中的B点
right : 矩形右边的X坐标 260 ----->图片中的C点
bottom: 矩形底部的Y坐标 120 ------->图片中的D点
不知道大家到这里 能不能马上就能想象出 这个矩形应该在屏幕的什么位置 我是不能 就在纸上画了画 下边来张图 我模拟器的 屏幕是 320*480
我也是 画一个大概的位置 主要是明白 那几个点在什么地方。 在图中 我分别以 A B C D 代表 那四个点 图片中红色的部分就是我们要画的矩形。
canvas.clipRect(10, 10, 280, 260) 这个裁剪画布的方法 的参数含义和 我们new Rect(150, 75, 260, 120) 的参数含义是一样的。
这里向大家说明一个问题 接着说吧 还是上边这个矩形
我们应该怎么把它放到屏幕的右下角,就是和屏幕的右侧和下侧都挨上 坐标是多少?我的屏幕是 320*480
按道理这个矩形的坐标应该是(210,435,320,480) 这其实 应该是正确的结果 ,但是如果把坐标改成这个 你运行一下 其实
这个矩形就消失在了屏幕上。 刚开始我困惑至极 也不知道怎么回事,后来发现 我们屏幕的 状态栏 和 标题栏 一共占了 50 正确的坐标应该是
(210,385,320,430); 我们还是来看张图 那个绿色的矩形 就是我们想要的效果。
发表评论
-
singleTop和singleTask有什么区别?(活动 Activity 四种加载模式)
2013-03-22 17:50 1440singleTop要求如果创建intent的时候栈顶已经有要 ... -
onCreateOptionsMenu和onPrepareOptionsMenu的差別在哪呢?
2012-09-17 16:25 1606在做菜单的功能,发现 ... -
android状态栏中多个通知冲突的问题
2012-09-11 17:49 6449网上看到的解决办法: 如果用相同的通知id, 该怎么 ... -
Anroid 异常:is not valid; is your activity running?
2012-08-29 11:23 1185是由于有activity时依附于另一个activity的, ... -
Android 如何让EditText不自动获取焦点
2012-08-15 11:42 3680在项目中,一进入一个页面, EditText默认就会自动获取焦 ... -
Animation
2012-07-31 23:51 840前面定义旋转,移动,缩放到什么程度, 后面是轴承点,根据这个点 ... -
删除android ScrollView边界阴影方法
2012-07-19 10:26 1329XML文件中添加以下方法: android:fadin ... -
Android的webview加载本地html、本apk内html和远程URL
2012-07-19 09:56 1694... -
如何在mac中创建android adb 环境
2012-05-03 23:31 1775Create an environment variable ... -
AlarmManager详细讲解
2012-04-21 23:33 1270AlarmManager的作用文档中的解释是:在特定的时刻为我 ... -
用Android代码实现打开USB调试
2012-03-20 17:52 9161打开Android手机的USB调试对于使用豌豆夹、调试程序等来 ... -
android ROM RAM 内部存储 系统存储 系统缓存区别
2012-03-16 14:58 5311内部存储┐ 系统存储├─物理位置是位于手机内部的非易失性存储 ... -
Android 读取MCC, MNC
2012-03-12 13:46 13320TelephonyManager telManager = ( ... -
Android 动画详解
2012-03-09 14:09 3738Tween动画又称“补间动画”、“中间动画”,这并不重要,就好 ... -
Region.Op
2012-02-29 17:37 971//INTERSECT 取两者交集,默认的方式 //DIF ... -
Eclipse中LogCat突然停止工作的解决
2012-01-18 17:34 1726... -
sdcard
2011-12-29 13:28 1048把文件放入SD卡 使用Activity的o ... -
Android 中自定义属性(attr.xml,TypedArray)的使用!
2011-10-07 17:39 1033在xml 文件里定义控件的属性,我们已经习惯了android ... -
Android 中自定义View的应用.
2011-10-07 17:38 845大家好我们今天的教程 ... -
Android SeekBar
2011-09-15 15:40 1303SeekBar可以作为音乐播放器的进度指示和调整工具,音量调整 ...
相关推荐
Canvas是Android中的一个类,它提供了在Bitmap上绘制图形的方法。通常,我们会在View的onDraw()方法中实例化Canvas,并调用其drawXXX()系列方法来绘制图形。 1. **画曲线图**: - 创建一个自定义View类,重写...
在Android图形系统中,`Canvas`是用于在Bitmap或Surface上进行绘图操作的重要类。它提供了各种绘制路径、文本、矩形、圆形以及其他图形的方法。`save()`和`restore()`是`Canvas`中两个非常关键的方法,它们主要用于...
在Android开发中,Canvas是用于在屏幕上绘制图形的重要工具,它是Android Graphics系统的一部分。Canvas类提供了各种方法,让我们能够绘制线条、形状、文本以及位图等。本篇将深入探讨`Android Canvas绘图`的相关...
首先,我们需要创建一个自定义View类,这个类将继承自Android的View或SurfaceView。在这个自定义View中,我们将重写`onDraw()`方法,这是绘制图形的主要入口。在`onDraw()`方法中,系统会为我们提供一个Canvas对象,...
在Android开发中,Canvas是用于在屏幕上绘制图形和图像的核心组件。`drawBitmap()`方法是Canvas的一个关键函数,用于在Canvas上绘制Bitmap图像。本文将深入解析`drawBitmap()`方法的参数及其用法,并通过实例来说明...
在Android开发中,Canvas是用于在屏幕上绘制图形的重要工具,它是Android Framework提供的核心绘图类。Canvas使用集合意味着我们可以利用它来绘制一系列图形、文本、图像等元素,从而实现自定义视图或控件。本篇文章...
该代码是一个完整的Android工程,详细演示如了如何使用Android中的各种drawXXX方法,以及画笔Paint如何影响绘制的效果。 具体参见博文: http://blog.csdn.net/iispring/article/details/49770651
在Android开发中,Canvas是用于在屏幕上绘制2D图形的核心组件。`Canvas`类提供了丰富的绘图方法,让我们能够在Bitmap或者Surface上绘制线条、形状、文本等元素。在这个"Android画布Canvas之连线动画Demo"中,我们将...
在Android开发中,Canvas是用于在屏幕上绘制图形和文本的核心组件。Paint对象则是用来设置绘制样式,如颜色、字体、线宽等。本教程将详细讲解如何利用Paint和Canvas在Android应用中实现在竖直方向上写字。 1. **...
Canvas是Android系统提供的一个用于绘制2D图形的对象,它可以对Bitmap进行操作,比如画线、画圆、画矩形等。在Android中,我们可以通过重写View的`onDraw()`方法来利用Canvas进行自定义绘图。 要将矩形图片变为圆角...
在Android开发中,Canvas是用于在屏幕上绘制图形的重要工具,它是`android.graphics.Canvas`类的实例。本篇文章将深入探讨如何使用Android Canvas进行图形绘制,包括基本概念、常用方法以及实际应用示例。 Canvas...
Bitmap是一个可以存储像素数据的类,我们可以将它看作是一块画布,而Canvas则是我们的画笔,用来在Bitmap上进行绘画操作。例如,我们可以通过`drawRect()`来绘制矩形,通过`drawText()`来添加文字,通过`drawBitmap...
在Android开发中,Canvas是用于在屏幕上绘制2D图形的核心组件。Kotlin作为一种现代、简洁的编程语言,已经成为Android开发的首选。本篇文章将深入探讨如何在Kotlin中更有效地利用Canvas进行绘制,以实现丰富的视觉...
总的来说,Android的Canvas和Matrix类为开发者提供了强大的图形绘制能力,通过熟练掌握它们,你可以创建出富有创新和互动性的用户界面。不断地实践和调试,将有助于你更好地理解和运用这些知识。
在Android开发中,Canvas是图形绘制的核心类,它提供了在Bitmap上进行绘制的基本接口。"android canvas画人"这个主题,意味着我们将探讨如何利用Canvas在Android应用中绘制一个人物图像。下面将详细介绍Canvas的使用...
- Canvas是Android系统提供的一个类,它提供了在二维画布上进行绘制的方法。 - 通常,我们会在一个Bitmap对象上操作Canvas,因为Bitmap是Android中的像素存储介质,Canvas则负责在Bitmap上进行绘制操作。 - 除了...
在实际开发中,通常会创建一个自定义的View类,重写`onDraw()`方法,在其中使用Canvas进行绘制。Paint对象是Canvas的得力助手,它可以设置颜色、样式、抗锯齿、纹理等多种属性,以实现更丰富的绘图效果。 除了基本...
在Android开发中,Canvas是图形绘制的核心类,它允许开发者在Bitmap或者其他可绘图对象上进行画图操作。本文将深入探讨如何利用Canvas类来绘制一个Android机器人,从而理解其基本概念、方法以及如何实现复杂的图形...
使用文档中介绍了Canvas和Paint的方法介。使用方便,适合开发者