Android通过onDraw实现在View中绘图操作
Android绘图操作,通过继承View实现,在onDraw函数中实现绘图。
下面是一个简单的例子:
public class AndroidTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView mv = new MyView(this);
setContentView(mv);
}
public class MyView extends View {
MyView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
// 首先定义一个paint
Paint paint = new Paint();
// 绘制矩形区域-实心矩形
// 设置颜色
paint.setColor(Color.BLUE);
// 设置样式-填充
paint.setStyle(Style.FILL);
// 绘制一个矩形
canvas.drawRect(new Rect(0, 0, getWidth(), getHeight()), paint);
// 绘空心矩形
// 设置颜色
paint.setColor(Color.RED);
// 设置样式-空心矩形
paint.setStyle(Style.STROKE);
// 绘制一个矩形
canvas.drawRect(new Rect(10, 10, 100, 30), paint);
// 绘文字
// 设置颜色
paint.setColor(Color.GREEN);
// 绘文字
canvas.drawText("Hello", 10, 50, paint);
// 绘图
// 从资源文件中生成位图
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
// 绘图
canvas.drawBitmap(bitmap, 10, 60, paint);
}
}
}
Android通过onDraw实现在View中绘图操作的更多相关文章
- Android ——利用OnDraw实现自定义View(转)
自定义View的实现方式大概可以分为三种,自绘控件.组合控件.以及继承控件.本文将介绍自绘控件的用法.自绘控件的意思是,这个控件上的内容是用onDraw函数绘制出来的.关于onDraw函数的介绍可参看 ...
- Android学习笔记(第二篇)View中的五大布局
PS:人不要低估自己的实力,但是也不能高估自己的能力.凡事谦为本... 学习内容: 1.用户界面View中的五大布局... i.首先介绍一下view的概念 view是什么呢?我们已经知道一个Act ...
- Android查缺补漏(View篇)--自定义 View 的基本流程
View是Android很重要的一部分,常用的View有Button.TextView.EditView.ListView.GridView.各种layout等等,开发者通过对这些View的各种组合以 ...
- android 编程小技巧(持续中)
first: Intent跳转一般存用于Activity类,可是若要在非activity类里跳转的话,解决方法是在startActivity(intent)前加mContext即上下文,终于为 ...
- 【android-tips】如何在view中取得activity对象
(转载请注明出处:http://blog.csdn.net/buptgshengod) 今天想实现在view中返回上一个activity的功能,想了半天.因为在虽然view是包含于一个activity ...
- Android UI性能优化实战, 识别View中的性能问题
出自:[张鸿洋的博客]来源:http://blog.csdn.net/lmj623565791/article/details/45556391 1.概述 2015年初google发布了Android ...
- Android自定义View研究--View中的原点坐标和XML中布局自定义View时View触摸原点问题
这里只做个汇总~.~独一无二 文章出处:http://blog.csdn.net/djy1992/article/details/9715047 Android自定义View研究--View中的原点坐 ...
- Android什么时候进行View中Background的加载
对大多数Android的开发者来说,最经常的操作莫过于对界面进行布局,View中背景图片的加载是最经常做的.但是我们很少关注这个过程,这篇文章主要解析view中背景图片加载的流程.了解view中背景图 ...
- Android view中的requestLayout和invalidate方法
Android view中的requestLayout和invalidate方法 requestLayout:当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent v ...
随机推荐
- pyinstaller打包后的exe退出时,类中的__del__不执行问题
关于pyinstaller打包后的exe退出时,类中的__del__不执行问题,完善中
- a=a+(a++);b=b+(++b);计算顺序,反汇编
a=a+(a++); 013913BC mov eax,dword ptr [a] 013913BF add eax,dword ptr [a] 013913C2 mov dword ptr [a], ...
- System.IO 二
接着上篇的来 System.IO FileSystemWatcher 指向这个签名的方法 可以监听目录发生了什么事件 例如: static void Main(string[] args) ...
- input的类型为number,限制输入的数字位数
<input type="text" maxlength="5" /> 效果ok,当 <input type="number& ...
- windows安装配置mongodb及图形工具MongoVUE
解压安装包到D:\Program Files\mongodb 建立数据库目录 D:\Program Files\mongodb\data 建立日志目录 D:\Program Files\mongodb ...
- python模块之正则
re模块 可以读懂你写的正则表达式 根据你写的表达式去执行任务 用re去操作正则 正则表达式 使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容.在线测试网站:http:/ ...
- java基础语法:非法修饰符组合 abstract
abstract 与 final :abstract 是需要被继承以实现的,final却说你不能被修改,逻辑错误 abstract 与 private:同样的abstract 需要被子类实现,但pr ...
- 如何设置 html 中 select 标签不可编辑、只读
转载自: https://blog.csdn.net/hjm4702192/article/details/33729767 1. <select style="width:195px ...
- thinkphp5 获取器的
获取器的作用是在获取数据的字段值后自动进行处理,例如,我们需要对状态值进行转换,可以使用: 1.数据库字段转换. class User extends Model { public function ...
- Hive的数据库和表
本文介绍一下Hive中的数据库(Database/Schema)和表(Table)的基础知识,由于篇幅原因,这里只是一些常用的.基础的. Hive的数据库和表 先看一张草图: Hive结构 从图上可以 ...