/**
 * Drawable 就是一个可画的对象,
     * 其可能是一张位图(BitmapDrawable),
     * 也可能是一个图形(ShapeDrawable),
     * 还有可能是一个图层(LayerDrawable),
     * 我们根据画图的需求,创建相应的可画对象
 */
public class DrawTestActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new MyView(this));
    }

    class MyView extends View {

        private ShapeDrawable shapeDrawable;
        private Paint paint;

        public MyView(Context context) {
            super(context);
            shapeDrawable = new ShapeDrawable(new OvalShape());
            shapeDrawable.getPaint().setColor(Color.RED);//指定颜色
            shapeDrawable.setBounds(10, 10, 200, 100);//指定位置

            paint = new Paint();
            paint.setColor(Color.BLUE); //颜色
            paint.setTextSize(20);//字体大小
            paint.setTypeface(Typeface.DEFAULT_BOLD);//粗体字
            paint.setAntiAlias(true);//消除锯齿
        }

        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);

            //画绿色背景
            canvas.drawColor(Color.GREEN);
            //画椭圆
            shapeDrawable.draw(canvas);//将自己画到画布上
            //画文本,坐标是指矩形左下角坐标
            canvas.drawText("来自尚硅谷的你, 很NB", 10, 120, paint);
        }
    }
}

最新文章

  1. LINQ系列:LINQ to SQL Join连接
  2. 深度系统deepin使用初体验
  3. git 撤销提交的文件
  4. http://poj.org/problem?id=3278(bfs)
  5. ZJOI2016 Round 1 之前
  6. Python 基礎 - 用戶交互程序
  7. 四种DLL:NON-MFC DLL, Regular DLL Statically/Dynamically Linked to MFC, MFC Extension DLL
  8. 体验Java的封装性
  9. 一模 (1) day2
  10. Sql传参含有单引号
  11. JSON带来编程界怎样的描述
  12. mysqli connect database and print
  13. JavaScript DOM编程艺术-学习笔记(第五章、第六章)
  14. VR全景智慧城市
  15. go/wiki/MutexOrChannel Golang并发:选channel还是选锁?
  16. node中间层实现文件上传
  17. Android开发 ---xml构建选项菜单、上下文菜单(长按显示菜单)、发通知、发送下载通知
  18. vue插件ele使用小坑
  19. rocketmq学习
  20. python并发爬虫利器tomorrow(一)

热门文章

  1. ADO.NET访问Access(文本数据库)数据操作(CRUD)
  2. struts2中迭代的使用方法
  3. Injection of resource dependencies failed解决办法总结
  4. Linux学习之十二-Linux文件属性
  5. 微信小程序-封装请求(GET、POST)
  6. Linux程序
  7. 《android 1: 创建一个安卓项目》
  8. 导出数据生成Excel(MVC)
  9. objc_msgSend 报错
  10. springMVC --@RequestParam注解(后台控制器获取參数)