引言


很久没更新博客了,最近忙得有点神魂颠倒,不过呢,今天回来继续更新。今天还是我们的android小demo系列,带来的是很常用的一个功能:用户从图库或者自个儿调用相机拍摄一张照片,然后用户可以对图片做裁剪啊加滤镜啊等操作,最后把图片返回显示到界面(或者再加点上传到服务器的操作)。

实现思路与步骤


1.布局文件

  • 布局很简单,demo嘛,一个imageview用来显示图片(头像),一个button用来点击添加图片(当然你也可以直接把点击事件写到imageview上,像朋友圈里发朋友圈时添加图片就是这样的)。

  • 贴图:

2.实现逻辑

  • 第一步:用户点击添加图片(修改头像),弹出一个对话框,让用户选择从相册找一张还是打开相机拍一张。
  • 贴图:

这里注意一下处理用户的选择,如果用户选择“选择本地照片”,就写一个openAlbumIntent,这里intent类型是 Intent openAlbumIntent = new Intent.ACTION_GET_CONTENT);;而如果用户选择拍照,就写: Intent openCameraIntent = new MediaStore.ACTION_IMAGE_CAPTURE);最后都需要:用startActivityForResult方法,待会儿重写onActivityResult()方法,拿到图片做裁剪操作

  • 第二步:对图片做裁剪。cutImage()方法如下:
  • 贴图:

这里注意一下,com.android.camera.action.CROP这个action是用来裁剪图片用的

    // aspectX aspectY 是宽高的比例        intent.putExtra("aspectX", 1);        intent.putExtra("aspectY",     // outputX outputY 是裁剪图片宽高        intent.putExtra("outputX", 150);        intent.putExtra("outputY", 150);
  • 第三步:将图片显示到界面上:
  • 贴图:

  • 第四步:最后的最后,重写onActivityResult()方法:

  • 贴图:

运行截图


Demo链接:

1.github链接: Android 更改头像(图片)并上传服务器功能Demo
(PS:这里提供的是GitHub的链接,没有CSDN积分的同学免费下载哦,demo经测试完美运行,可以直接拿来用哦,觉得可以的同学麻烦顶一下我的博客并star一下我的github上的项目作为鼓励哦!)
2.后期将会更新第二篇,如何将图片上传服务器并且做好本地缓存,敬请期待!
3.如果有什么疑问或者下载的源码studio导入出现问题,欢迎在下方留言,我看到后会为您解答。

更多相关文章

  1. android实现连连看,附源码
  2. Android(安卓)UI设计秘笈
  3. Android开发指南-框架主题-安全和许可
  4. Android(安卓)6.0运行时权限勾选不再询问后该如何处理?
  5. 5条针对Honeycomb的UI设计建议
  6. Android(安卓)MediaStore仿微信朋友圈获取图片及视频
  7. android移动平台——移动SNS(二):注册登录
  8. Android图片压缩上传之基础篇
  9. [送给不懂android的开发者]react-native如何替换android图标资源

随机推荐

  1. 浅谈Android系统启动过程
  2. Android(安卓)Studio报错:Gradle project
  3. android 状态栏沉浸
  4. Android实现边框圆角
  5. Android事件分发机制
  6. 将Android项目导入到Eclipse开发环境
  7. Android中的Menu点滴记录
  8. webrtc——web与android,android间通信
  9. android:fastScrollEnabled和android:dra
  10. android下发送中文短消息