android Path.setFillType(Path.FillType ft) 设置填充方式
2017-12-13 16:10
337 查看
参考链接
http://hencoder.com/ui-1-1/参考图
方法中填入不同的 FillType 值,就会有不同的填充效果。FillType 的取值有四个:
EVEN_ODD
WINDING (默认值)
INVERSE_EVEN_ODD
INVERSE_WINDING
其中后面的两个带有 INVERSE_ 前缀的,只是前两个的反色版本,所以只要把前两个,即 EVEN_ODD 和 WINDING,搞明白就可以了。
代码
public class PathFillTypeView extends View{ private Paint mPaint; //模式 private Path.FillType[] mModes = { Path.FillType.WINDING, Path.FillType.EVEN_ODD, Path.FillType.INVERSE_WINDING, Path.FillType.INVERSE_EVEN_ODD, }; // private int mTitleIndex = 0; public PathFillTypeView(Context context) { this(context,null); } public PathFillTypeView(Context context, @Nullable AttributeSet attrs) { this(context, attrs,0); } public PathFillTypeView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initPaint(); } /** 初始化画笔 */ private void initPaint(){ mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mPaint.setColor(Color.RED); mPaint.setStyle(Paint.Style.FILL); } @Override protected void onDraw(Canvas canvas) { Path path = new Path(); path.setFillType(mModes[mTitleIndex]); path.addCircle(100,100,100, Path.Direction.CCW); path.addCircle(150,150,100, Path.Direction.CCW); canvas.drawPath(path,mPaint); } //切换模式 并返回现在的模式名 public String change() { mTitleIndex++; if (mTitleIndex >= mModes.length){ mTitleIndex = 0; } invalidate(); return mModes[mTitleIndex].name(); } }
各模式演示
相关文章推荐
- set_irq_type() -- 设置中断触发类型/方式
- [转]Android Path里FillType功能
- setfillstyle() 设置填充图样和颜色函数
- android path + fillType
- Android setTextColor无效_安卓setTextColor()的参数设置方式
- Android之设置EditText输入类型(setInputType()方法和android:inputType属性)
- Qt:设置背景图片的三种方式(setAutoFillBackground)
- Android 文件打开方式用setDataAndType方式
- Android Intent通过setDataAndType(uri, "type")打开文件方式
- Android之设置EditText输入类型(setInputType()方法和android:inputType属性)
- qt 透明度设置(setWindowOpacity 和 setAutoFillBackground 和 带透明度的画刷填充就好了)
- 【Android基础】setTextColor(),setBackgroundColor的参数设置方式
- 【Android基础】setTextColor(),setBackgroundColor的参数设置方式
- Android进阶(二十五)setTextColor()的参数设置方式
- Android进阶(二十五)setTextColor()的参数设置方式
- setfillstyle() 设置填充图样和颜色函数
- Android PathFillType解析
- set_irq_type() -- 设置中断触发类型/方式
- Qt:设置背景图片的三种方式(setAutoFillBackground)
- ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)