android刮刮乐
16lz
2022-05-25
采用文本图片填充画笔
public class CircleView2 extends ImageView {public CircleView2(Context context) {super(context);inti();}public CircleView2(Context context, AttributeSet attrs) {super(context, attrs);inti();}public CircleView2(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);inti();}Paint paint;Path path;private void inti() {paint = new Paint();//画笔粗细paint.setStrokeWidth(100);paint.setStyle(Style.STROKE);//边角圆形paint.setStrokeCap(Cap.ROUND);paint.setStrokeJoin(Join.ROUND);//为画笔填充文本setShade();path = new Path();}private void setShade() {Paint paint2 = new Paint();paint2.setTextSize(120);paint2.setColor(Color.WHITE);String text = "壹佰万";Rect rect = new Rect();//获取文本大小paint2.getTextBounds(text, 0, text.length(), rect);//创建略大于文本的bitmap作为画布Bitmap bitmap = Bitmap.createBitmap(rect.width() + 20, rect.height() + 20, Config.ARGB_8888);//在bitmap上作画Canvas canvas = new Canvas(bitmap);//在bitmap上绘制文本canvas.drawText(text, 0, rect.height(), paint2);//为画笔设置填充图片paint.setShader(new BitmapShader(bitmap, TileMode.REPEAT, TileMode.REPEAT));}@Overridepublic boolean onTouchEvent(MotionEvent event) {// TODO Auto-generated method stubswitch (event.getAction()) {case MotionEvent.ACTION_DOWN:path.moveTo(event.getX(), event.getY());break;case MotionEvent.ACTION_MOVE:path.lineTo(event.getX(), event.getY());invalidate();break;}return true;}@Overrideprotected void onDraw(Canvas canvas) {canvas.drawPath(path, paint);}}
更多相关文章
- 关于android实现fastindexbar(快速索引)详解
- 捕获Android文本输入框的软键盘完成(Done)按键消息
- Android开发EditText属性
- NestedScrollView中添加一个android:fillViewport="true"
- android textview属性
- 转:Android(安卓)学习笔记3(控件)
- Android下载网络文本
- Android(安卓)中文 API (22) ―― MultiAutoCompleteTextView
- EditText所有属性详解