android开发,绘制圆形图片并添加文字居中显示
来源:互联网 发布:linux grub命令进win 编辑:程序博客网 时间:2024/05/18 02:30
public class Yuan extends ImageView { private Paint Paint; private TextPaint textPaint; private String str = null; public Yuan(Context context) { this(context, null); } public Yuan(Context context, AttributeSet attrs) { this(context, attrs, 0); } public Yuan(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } private void init() { textPaint = new TextPaint(); textPaint.setColor(Color.WHITE);//文字颜色 textPaint.setAntiAlias(true);//抗锯齿 textPaint.setTextSize(20);//文字大小 } @Override protected void onDraw(Canvas canvas) { //清空样式 Paint = new Paint(); Paint.setAntiAlias(true); //Paint.setColor(getResources().getColor(R.color.yuan)); //Paint.setStyle(android.graphics.Paint.Style.STROKE);//这句关系到图片画出来的样式如果需要画原图则不需要这句话 //要圆形图片就不能要默认的我们把它注掉 // super.onDraw(canvas); //获取我们的图片 Drawable drawable = getDrawable(); if (drawable == null) { return; } //获取bitmap对象 Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap(); if (bitmap == null) { return; } //因为要绘制圆形图片为了防止我们的高宽不一致我们取一下高宽的最小值 int r = getWidth() > getHeight() ? getHeight() : getWidth(); //创建新的画布,需要一个新的图片,我們來創建下,图片大小的話我們取控件最小值 Bitmap creatbitmap = Bitmap.createBitmap(r, r, Bitmap.Config.ARGB_8888); Canvas newcanvs = new Canvas(creatbitmap); //我們現在绘制一个圆形 newcanvs.drawCircle(r / 2, r / 2, r / 2, Paint); //我們取图片跟圆形相交部分 Paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); //绘制图片 newcanvs.drawBitmap(bitmap, new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()), new Rect(0, 0, r, r), Paint); canvas.drawBitmap(creatbitmap, new Rect(0, 0, creatbitmap.getWidth(), creatbitmap.getHeight()), new Rect(0, 0, r, r), null); //绘制数字 if (str != null) { canvas.drawText(str, getWidth() / 2 - textPaint.measureText(str) / 2, getHeight() / 2 + 1.5f * textPaint.getFontMetrics().bottom, textPaint); }else { } } /** * 公开方法,将要绘制的文字传入 * @param str */ public void settextstr(String str) { this.str = str; invalidate(); }}
0 0
- android开发,绘制圆形图片并添加文字居中显示
- Android 文字居中绘制
- Android DrawableTextView图片文字居中显示
- android 绘制圆形图片
- Android 绘制圆形图片
- Android 绘制圆形图片
- android开发 之 Canvas绘制文字,图片
- 自定义View绘制文字居中显示
- MFC CDC 区域绘制文字居中显示
- Android自定义TextView实现文字图片居中显示
- Flex 绘制圆形并填充图片
- iOS 开发中tabBarItem不显示文字,只显示图片,且图片居中显示
- Android 开发 Tip 6 -- Spinner 文字 & icon 居中显示
- Android TextView 文字居中显示
- 图片缩放并居中显示
- Android 自定义控件文字的居中绘制
- UITextField添加图片 文字居中 iphone
- UITextField添加图片 文字居中 iphone
- Comparable和Comparator的使用(自定义对类的比较)
- Linux系统中切换用户身份su与sudo的用法与实例
- 基于labwindows 应用PDFlib自动生成PDF文件
- 一起学opencv (五) 图片的数据计较,类的应用
- JQuery监听页面滚动总结
- android开发,绘制圆形图片并添加文字居中显示
- Android 3D旋转 Layout
- 如何使用virtualenvwrapper切换不同版本的python
- Android,PullToRefreshListView,addHeaderView错误!
- Handler内存泄漏分析及解决
- XML布局文件出错问题解决办法
- JavaScript trim 实现(去除字符串首尾指定字符)
- C++中,类成员的private和public有什么区别?
- android逆向分析之从smali到java