之前做了一个聊天应用,其中需要一个圆环控件,滑动可以选择百分比。看效果图。
这个自定义view可以分几步完成。画绿色圆环;画灰色圆环;画三角形;画百分比。其中三角形围绕环形旋转,采用Path类实现,首先画出基本的三角形路径,而后适当计算一下,利用matrix变换得到实际要绘制的路径,直接绘制即可。
另外要实现手势对圆环的控制,可以重写onTouchEvent方法,由点击或滑动的坐标计算得到百分比,然后重新绘图。
顺便尝试一下android studio,虽然目前还是0.8.14版本,而且不支持NDK,但毕竟是专业于android开发,不考虑这些缺点,其它很多细节方面都是很不错的,比较看好android studio。
下面是自定义的View。
package com.example.hanwen.myapplication;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Rect;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
public class MyView extends View {
private int color_start;
private int color_end;
private float circleDimensionRate = 0.1f;//圆环比例
private float triangleDimensionRate = 0.1f;//三角形比例
private float s;//三角形边长
private float strokeWidth;//圆环宽度
p