Android版简历(一)
简介
预览
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
涉及技术
第一步:创建主页面
第二步:圆形照片
//将Bitmap处理为圆形的图片private Bitmap circlePic(Bitmap bitmap){int width = bitmap.getWidth();int height = bitmap.getHeight();int r = width < height ? width/2:height/2; //圆的半径,取宽和高中较小的,以便于显示没有空白Bitmap outBitmap = Bitmap.createBitmap(r*2, r*2, Bitmap.Config.ARGB_8888); //创建一个刚好2r大小的BitmapCanvas canvas = new Canvas(outBitmap); // 这里的这个Canvas就是我们用来绘制照片的Canvasfinal int color =0xff424242;final Paint paint = new Paint();/*** 截取图像的中心的一个正方形,用于在原图中截取* 坐标如下:* 1.如果 w < h , 左上坐标(0, (h-w)/2) , 右上坐标(w, (h+w)/2)* 2.如果 w > h , 左上坐标((w-h)/2, 0) , 右上坐标((w+h)/2, h)*/final Rect rect = new Rect( width < height ? 0 : (width-height)/2, width < height ? (height-width)/2 : 0,width < height ? width : (width+height)/2, (width < height ? (height+width)/2 : height));//创建一个直径大小的正方形,用于设置canvas的显示与设置画布截取final Rect rect2 = new Rect( 0, 0, r*2, r*2);//提高精度,用于消除锯齿final RectF rectF = new RectF(rect2);//下面是设置画笔和canvaspaint.setAntiAlias(true);canvas.drawARGB(0,0,0,0);paint.setColor(color);//设置圆角,半径都为r,大小为rect2,这样绘制出来的就是一个圆形了canvas.drawRoundRect(rectF, r, r, paint);//设置图像重叠时的显示方式,这个设置很重要,设置了这个属性之后我们画照片进去就会以交集的形式截取,这样就会绘制出圆形的图片了paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));//绘制图像到canvascanvas.drawBitmap(bitmap, rect, rect2, paint);return outBitmap;}
这样圆形的图片就处理好了。
ImageView myPhoto = (ImageView) this.findViewById(R.id.myPhoto);
//my_photo.setImageResource(R.drawable.ic_launcher);
//得到Resources对象
Resources r = getResources();
WindowManager manage=getWindowManager();
Display display=manage.getDefaultDisplay();
int screenWidth=display.getWidth();
//以数据流的方式读取资源
InputStream is = null;
if(screenWidth > 480) {//这段代码是我适应不同的屏幕大小来显示了不同的照片,其实也有不同的处理方式,不过我觉得这样也能满足我的需求is = r.openRawResource(R.drawable.my_photo);
} else {is = r.openRawResource(R.drawable.my_photo1);
}
//获取到BitmapDrawable对象
BitmapDrawable bmpDraw = new BitmapDrawable(is);
//获得Bitmap
Bitmap bmp = bmpDraw.getBitmap();
myPhoto.setImageBitmap(circlePic(bmp));//绘制好的圆形照片设置到ImageView中
myPhoto.setOnClickListener(new PhotoClickListener());//设置一个点击事件,后面再说
好了,我们已经绘制了圆形的图片和整体的布局了。也就是,我们做到了这一个画面:
![](/assets/blank.gif)
结尾
Android版简历(一)相关推荐
- Android版简历(四)
涉及技术 自定义控件.自定义控件动画 第一步:继承自定义控件 虽然已经实现了需要的控件,但是这个控件的功能还是不够强大,使用起来也不够方便.举个例子:让 控件的颜色随着能力值的大小而不同或者是 点击之 ...
- Android版简历(二)
涉及技术 Pager控件.Menu使用.短信电话调用 第一步:创建菜单 上篇文章我们已经创建好了主界面,但是仅仅只展示这么一点信息是完全不够的吸引面试官的,所以我们得继续加一些需求. 如果我们成功的让 ...
- 优秀Android开发简历都是这么写,你学会也可以进大厂
最近收了很多程序员的简历,工作经验从1年到十几年不等.发现一个问题,工作经验范围差不多的程序员,简历看起来也差不多- 为啥程序员的简历如此统一?正好最近看到一个分享也分析了这个问题,结合我个人的一些经 ...
- Android版网易云音乐唱片机唱片磁盘旋转及唱片机机械臂动画关键代码实现思路...
Android版网易云音乐唱片机唱片磁盘旋转及唱片机机械臂动画关键代码实现思路 先看一看我的代码运行结果. 代码运行起来初始化状态: 点击开始按钮,唱片机的机械臂匀速接近唱片磁盘,同时唱片磁盘也 ...
- [原] Unity调用android版新浪微博
本文提供unity调用微博android版 SDK 分享图片,现有sdk支持路径调用分享图片 雨凇MOMO已实现; 本文教会大家如何通过byte流分享图片(官方API pic true binary ...
- 飞行熊猫游戏源码android版
这款游戏是前一段时间完成的一个项目,飞行熊猫游戏源码android版,飞行熊猫基于cocos2d游戏引擎开发,包括了谷歌admob广告支持,没有任何版权问题,大家可以自由修改和上传应用商店. 1.本游 ...
- android 校讯通 源码,校讯通Android版使用说明.doc
校讯通Android版使用说明 说明: 以下截图均来自PC模拟器,实际效果会根据手机的Android系统版本高低,像素高低,分辨率大小,屏幕尺寸大小而有所差异,最终效果以自身手机为准! 下载校讯通An ...
- 京东商城Android版客户端 安装到手机上就能轻松购物
京东商城据悉将于近日正式推出"京东商城Android版"客户端,显示出国内电子商务平台全面进驻安卓Android智能手机及平板设备平台的趋势愈演愈烈."京东商城Andro ...
- android 人生日历,android版人生日历日子怎么用 安卓版人生日历日子使用教程
人生日历android版新发3.3.05.10版本,新增日子功能,那么android版人生日历日子怎么用呢?今天小编就为大家分享安卓版人生日历日子使用教程,一起来看看吧! 人生日历的日子,设计成四叶草 ...
最新文章
- 每个设计师需知的40个设计素材站
- 管理系统中计算机应用第四章重点,管理系统中计算机应用课堂笔记第四章(4)...
- bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量、bochs的System BIOS must end at 0xfffff错误、运行内核0.00版本
- macOS上实现Qt应用程序做文件关联打开
- JavaScript:document.execCommand()的用法
- Thinkphp3.23 关联模型relation方法不存在解决方法
- c++ primer5th,习题12.24
- Tomcat NIO
- offline .net3.5
- ASP.NET Core 3.x - 为什么采用新的 Endpoint Routing 路由系统
- MVC Layout布局系统
- KVM虚拟化查看虚拟机IP
- 剑指Offer:二进制中1的个数
- 浅谈axios.interceptors拦截器
- java swing窗口放置屏幕中央问题思考
- Arduino提高篇01—点亮OLED显示屏
- EXCEL图表 横坐标日期格式无法修改问题
- 参考文献格式字号字体_论文字体字号格式要求是什么?
- 计算机基础知识还有那些,关于电脑基础知识有哪些
- vue中加载maptalks图标(markers)点击事件InfoWindow添加按钮点击事件