1 packagecom.example.drawablearrow;2
3
4 importandroid.content.Context;5 importandroid.graphics.Canvas;6 importandroid.graphics.ColorFilter;7 importandroid.graphics.Paint;8 importandroid.graphics.Path;9 importandroid.graphics.PixelFormat;10 importandroid.graphics.Rect;11 importandroid.graphics.drawable.Drawable;12
13
14 //这个类就是用来实现 菜单编程箭头效果的类
15 public abstract class DrawerArrowDrawable extendsDrawable {16 private static final float ARROW_HEAD_ANGLE = (float) Math.toRadians(45.0D); //箭头的角度
17 protected float mBarGap; //菜单 按钮两条线之间的间隔
18 protected float mBarSize; //菜单 按钮线的长度
19 protected float mBarThickness; //菜单按钮 线的宽度
20 protected float mMiddleArrowSize; //箭头按钮 中间那条线的长度
21 protected final Paint mPaint = newPaint();22 protected final Path mPath = newPath();23 protected floatmProgress;24 protected intmSize;25 protected float mVerticalMirror =1f;26 p