• Android自定义View研究(二) 绘图的基本知识


    既然使用onDraw可以绘制为蓝色背景,那我们是不是可以干一些坏事了,哈哈。。。。。

           不过干坏事之前要记得先学习学习graphics里面的一些知识。

     

    一、基础预备知识

    1Canvas--画板

                  Canvas是一个大大的画板,这个画板有多大,就看Android系统能支持多大的Canvas了,以后慢慢就会体会到这个Canvas到底有多大,不过原理上:Canvas是无穷大的

     

           2Paint--画笔

                  有画板没有画笔怎么能行了,没错Paint就是画笔。掌管Android王国中的所有画笔,只要和Canvas打交道,没有画笔是万万不行的。。。。。。

     

           3Color--颜色

                  在这个设计的世界里,没有颜色掌管各种颜色怎么行呢,所以这里定义了各种常用的颜色,嘎嘎,还提供了灵活的Color.parseColor(String str);函数这个函数太强大了,哈哈,解析Alpha颜色和普通的颜色。

           4Bitmap--位图

                  没有图片的世界是悲惨的,这个类可以掌管天下的pngjpg图片,不过貌似Androidpng支持比jpg好。呵呵,这个我们在下回研究,我们会使用三种方法获得Drawable文件夹下的图片

     

    二、开始涂鸦

    准备好了吗??我们开始涂鸦了……………..

        /**

         * 绘制View

         * */

        protected void onDraw(Canvas canvas){

           canvas.drawColor(Color.WHITE);

    }

    我们先绘制画板为白色,然后先使用一下画笔哈哈.......

        /**

         * 定义一个画笔

         * */

        Paint paint;

        /**

         * 初始化画笔

         * */

        public void intiPaint(){

           paint = new Paint();

           // 设置画笔

           paint.setColor(Color.GREEN);    // 绿色画笔

           paint.setAntiAlias(true);       // 打开抗锯齿

           paint.setTextSize(15);          // 设置字体大小

        }

        /**

         * 绘制View

         * */

        protected void onDraw(Canvas canvas){

           canvas.drawColor(Color.WHITE);

           canvas.drawText("我的第一次使用画笔--繁星皓月", 20, 20, paint);

        }

                  

  • 相关阅读:
    C++ 模板实现败者树,进行多路归并
    CentOS 7 使用 Realtek 8188eu 上网 (解决 Required key not available)
    C++ Concurrency in Action 读书笔记
    Linux操作系统是如何工作的
    大型项目使用Automake/Autoconf完成编译配置
    Socket 用于进程间通信 --- UNIX Domain Socket
    在Linux中实现类似windows中获取配置文 件的函数GetProfileString
    Linux Shell 1
    YAML
    ubuntu虚拟机如何连接到windows上安装的Navicat
  • 原文地址:https://www.cnblogs.com/jiayonghua/p/2471557.html
Copyright © 2020-2023  润新知