版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaohuiyang_949/article/details/79048402
自定义控件圆形图案
主要是利用Paint和Canvas,个人觉得这个demo没有什么需要讲解的,直接看代码就行。下面是代码。
布局代码activity_main.xml<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="f3.nsu.com.drawcircle.MainActivity"> <f3.nsu.com.drawcircle.Circle android:id="@+id/myCircle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="50dp" android:layout_marginLeft="50dp"/> </RelativeLayout>
MainActivityCircle.javapackage 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); } }
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方法中画笔和画布的使用。