自定义控件圆形图案

主要是利用Paint和Canvas,个人觉得这个demo没有什么需要讲解的,直接看代码就行。下面是代码。
布局代码activity_main.xml
<?xml version="1.0" encoding="utf-8"?>    

MainActivity
package f3.nsu.com.drawcircle;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;/** * 利用画布画圆 */public class MainActivity extends AppCompatActivity {    private Circle myCircle;        //Circle自定义控件    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //绑定控件        myCircle  = (Circle) findViewById(R.id.myCircle);    }}
Circle.java
package f3.nsu.com.drawcircle;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.view.View;/** * Created by zhy on 2017/7/8. * 画圆 * 自定义控件 */public class Circle extends View {    //预定一个颜色    private int color1 = Color.parseColor("#ff0000");    public Circle(Context context, @Nullable AttributeSet attrs) {        super(context, attrs);    }    protected void onDraw(Canvas canvas){        Paint p = new Paint();      //创建一个画笔        p.setColor(color1);     // 设置颜色        p.setAntiAlias(true);       // 设置画笔的锯齿效果。 true是去除        canvas.drawCircle(20, 20, 16, p);    }}

其实代码很简单,重点的就是Circle中的onDraw方法中画笔和画布的使用。

更多相关文章

  1. Android开发推荐资料大合集 【转载自51CTO】
  2. Android(安卓)4.4KitKat AudioFlinger 流程分析
  3. Android(安卓)页面跳转
  4. android短信获取小代码
  5. Android(安卓)App 性能优化
  6. Android(安卓)编程下 Touch 事件的分发和消费机制
  7. Android(安卓)4.0 截屏(Screenshot)代码流程小结
  8. android Looper学习

随机推荐

  1. Android冷启动实现app秒开的实现代码
  2. Android(安卓)studio常用插件
  3. Android应用程序设置系统时间的方法
  4. Android中Service的一个Demo例子
  5. 从Eclipse 到Unity(Android)
  6. Android菜鸟-学习笔记1
  7. 如何在Android上编写高效的Java代码
  8. android--startActivity(intent)分析源码
  9. Android(安卓)Wi-Fi Display(Miracast)介绍
  10. (4.1.29) Android 操作SQLite基本用法