Android自定义View实现简单文字描边功能

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android自定义View实现简单文字描边功能脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例为大家分享了AndROId实现简单文字描边功能的具体代码,供大家参考,具体内容如下

效果图:

Android自定义View实现简单文字描边功能

实现代码:

 package com.example.zhangyu.myview.widget;  import android.content.Context; import android.graphics.BITmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Picture; import android.graphics.Rect; import android.graphics.RectF; import android.os.Build; import android.support.annotation.Nullable; import android.support.annotation.RequiresApi; import android.util.AttributeSet; import android.view.View;  import com.example.zhangyu.myview.R;  public class TouchPullView extends View {    //PRivate float mCircleRadius;  private Paint paint;  private Rect rect=new Rect();  private int count;    public TouchPullView(Context context) {   suPEr(context);   init();  }    public TouchPullView(Context context, @Nullable AttributeSet attrs) {   super(context, attrs);   init();  }   public TouchPullView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {   super(context, attrs, defStyleAttr);   init();  }   @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)  public TouchPullView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {   super(context, attrs, defStyleAttr, defStyleRes);   init();  }   /**   * 初始化   */  private void init() {   paint = new Paint(Paint.ANTI_ALIAS_FLAG);   //设置抗锯齿   paint.setAntiAlias(true);   //设置抖动   paint.setDither(true);   //设置填充方式   paint.setStyle(Paint.Style.FILL_AND_stroke);    //View的点击事件   setOnClickListener(new OnClickListener() {    @override    public void onClick(View v) {     count++;     invalidate();//重新绘制    }   });   }   @Override  protected void onDraw(Canvas canvas) {   super.onDraw(canvas);     //设置方形画笔,背景。   paint.setColor(Color.YELLOW);   //先绘制底板   canvas.drawRect(0, 0, getWidth(), getHeight(), paint);     float x = getWidth() / 2;   float y = getHeight() / 2;   float offset = getWidth()/6;    //绘制圆形   paint.setColor(Color.GRAY);   mCircleRadius = offset*1.41f;   canvas.drawCircle(x, y, mCircleRadius, paint);    //绘制图片   Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.pic1);   if (bitmap != null) {    canvas.drawBitmap(bitmap,null,new RectF(x-offset,y-offset,x+offset,y+offset),paint);   }       //绘制文字外层的文字,边框   String s = String.valueOf(count);   paint.setStrokeWidth(10);   paint.setColor(Color.red);   paint.setTextSize(100);   paint.getTextBounds(s,0,s.length(),rect);   float textWidth = rect.width();   float textHeight = rect.height();   x = getWidth()/2-textWidth/2;   y = getHeight() / 2+textHeight/2;   canvas.drawText(s, x, y, paint);    //绘制文字   paint.setColor(Color.BLUE);   paint.setStrokeWidth(0);   canvas.drawText(s, x, y, paint);   } } 
android教程
脚本网站
android studio

脚本宝典总结

以上是脚本宝典为你收集整理的Android自定义View实现简单文字描边功能全部内容,希望文章能够帮你解决Android自定义View实现简单文字描边功能所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。