Android最简单QQ头像圆形的ImageView
来源:互联网 发布:普华永道部门 知乎 编辑:程序博客网 时间:2024/04/30 15:39
Android最简单QQ头像圆形的ImageView
看见QQ头像,圆形的很爽,然后今天学习到了,特地出来显摆下。
布局文件:activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><!-- 保持图片的横纵比缩放,知道该图片能够显示在ImageView组件上,并将缩放好的图片显示在imageView的右下角 --><com.example.lenovo.myapplication.RoundImageViewandroid:id="@+id/img_round"android:layout_width="200dp"android:layout_height="200dp"android:layout_margin="5px" /></LinearLayout>
展示视图控制文件:MainActivity
package com.example.lenovo.myapplication;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;public class MainActivity extends Activity {private RoundImageView img_round;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);img_round = (RoundImageView) findViewById(R.id.img_round); Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.meinv);img_round.setBitmap(bitmap); }}
自己新建个画圆的类RoundImageView
package com.example.lenovo.myapplication;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.PaintFlagsDrawFilter;import android.graphics.Path;import android.graphics.Rect;import android.graphics.Region;import android.util.AttributeSet;import android.widget.ImageView;/** * Created by lenovo on 2016/7/12. */public class RoundImageView extends ImageView {private Bitmap mBitmap;private Rect mRect = new Rect();private PaintFlagsDrawFilter pdf = new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG);private Paint mPaint = new Paint();private Path mPath=new Path();public RoundImageView(Context context, AttributeSet attrs) {super(context, attrs); init(); }//传入一个Bitmap对象public void setBitmap(Bitmap bitmap) {this.mBitmap = bitmap; }private void init() {mPaint.setStyle(Paint.Style.STROKE);mPaint.setFlags(Paint.ANTI_ALIAS_FLAG);mPaint.setAntiAlias(true);// 抗锯尺}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);if(mBitmap == null) {return; }mRect.set(0,0,getWidth(),getHeight()); canvas.save(); canvas.setDrawFilter(pdf);mPath.addCircle(getWidth() / 2, getWidth() / 2, getHeight() / 2, Path.Direction.CCW); canvas.clipPath(mPath, Region.Op.REPLACE); canvas.drawBitmap(mBitmap, null, mRect, mPaint); canvas.restore(); }}
本人学习网址:http://blog.csdn.net/coder_pig/article/details/47016831
0 0
- Android最简单QQ头像圆形的ImageView
- android 圆形头像的Imageview
- Android 最简单的圆形头像
- Android头像ImageView圆形
- android ImageView 实现圆形图片(QQ头像)
- 继承ImageView的工具类,类似于QQ的圆形头像
- Android ImageView实现圆形头像
- android 圆形头像 自定义ImageView
- 自定义圆形ImageView(仿QQ头像)
- Android仿QQ圆形头像
- Android 圆形头像 类似QQ
- 简单的圆形头像
- Android ImageView圆形头像 图片完全解析
- androidの自定义ImageView圆形头像
- Android圆形头像图Circle ImageView
- Android 自定义ImageView, 圆形六边形头像
- android自定义圆形头像view,继承imageview
- Android ImageView圆形头像 图片完全解析
- 搭建linux驱动开发环境(配合LDD阅读)
- VMware EXSI 6.0 体验
- Scala 访问修饰符
- AbstractQueuedSynchronizer(三)——acquireInterruptibly/doAcquireInterruptibly方法
- 国内外从事CV相关的企业
- Android最简单QQ头像圆形的ImageView
- 切图快捷方式
- LZW数据压缩算法的原理分析
- 内核无HOOK文件防删除
- Git远程库操作遇到的一些问题
- Object Hook原始地址查找
- 详解js跨域问题
- iOS 【应用沙盒路径获取方式】
- Java编程思想第四版第十二章学习——通过异常处理错误(2)