android相册图片选择图片
❶ Android拍照和选择相册图片上传为什么不清晰
压缩算法的问题,不知道是你自己写还是用其他产商的apk,
压缩过头了,导致清晰度下降了。
还有就是有些手机拍完照,本身有一定的压缩处理,所以再进行压缩就更小了,更模糊了。
这个就是手机要做适配处理。
❷ Android10以上拍照和选择相册适配以及向下兼容适配
最近一直被Android10相关的适配搞得焦头烂额,之前也听说过android10中的所有的视频,音频以及图片等资源为了统一的管理,统一放在一个共有的文件下,也就是所谓的沙箱。看了一下其他人写的文章,也提供了一种简单粗暴的方式也就是在清单文件application下配置#android:requestLegacyExternalStorage="true"#,但如果android11出来又得适配了,android11是禁止除了共有文件夹下新建视频,音频以及图片等文件。不然就会报找不到文件相关的错误,好了说到底我们还是得花点时间去适配android10以上的沙箱适配。
进入正题,接下来我们就来适配Android10相关的拍照以及选择相册并兼容android10以下的绝大部分的适配。
进入系统相册的操作都是一样的这里就不赘述:
主要的还是要对返回的data进行处理,也就是把uri转换成文件File的路径path
当然了拍照和位图Bitmap相关的适配是一样的。
7.0以上Android版本的路径配置
第一步
@xml/file_camera_paths 文件配置
拍照首先需要申请拍照权限
申请完后调用camera就可以拍照,拍照主要就是在调用相机的时需要自己去配置文件存储路径。
回调处理这里我就不赘述了 主要是对Android10以上关于图片配置相关的处理
既然关于Android 10那么我们也讲一下关于定位方面的适配,Android10以上需要在清淡文件中添加一个新的定位权限
❸ Android/如何读取相册将选择的图动态设置为应用背景
Bitmap bitmap = BitmapFactory.decodeFile(String path);
linearlayout.setBackground(new BitmapDrawable(bitmap));
❹ Android怎么调用系统相册将选中的图片设置为布局的背景,有没有案例或源码
Android中调用系统相机来拍摄照片的代码,如下:
1、首先设置Uri获取判断以及相机请求Code
public final int TYPE_TAKE_PHOTO = 1;//Uri获取类型判断
public final int CODE_TAKE_PHOTO = 1;//相机RequestCode
2、调起系统相机
Intent takeIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri photoUri = getMediaFileUri(TYPE_TAKE_PHOTO);
takeIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(takeIntent, CODE_TAKE_PHOTO);
3、封装获取Uri代码
public Uri getMediaFileUri(int type){
File mediaStorageDir = new File(Environment.(Environment.DIRECTORY_PICTURES), "相册名字");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
return null;
}
}
//创建Media File
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile;
if (type == TYPE_TAKE_PHOTO) {
mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg");
} else {
return null;
}
return Uri.fromFile(mediaFile);
}
4、相机拍照完毕后获取返回数据,并在页面显示照片
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case CODE_TAKE_PHOTO:
if (resultCode == RESULT_OK) {
if (data != null) {
if (data.hasExtra("data")) {
Log.i("URI", "data is not null");
Bitmap bitmap = data.getParcelableExtra("data");
imageView.setImageBitmap(bitmap);//imageView即为当前页面需要展示照片的控件,可替换
}
} else {
Log.i("URI", "Data is null");
Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath());
imageView.setImageBitmap(bitmap);//imageView即为当前页面需要展示照片的控件,可替换
}
}
break;
}
}
特殊:
一般情况,以上代码在Android7.0以下,也就是api<24时,运行是没有任何问题的。可是当targetSdkVersion变成24及其以上并且在android7.0(及以上版本)系统运行时,会抛出异常:FileUriExposedException。
❺ 手机如何把照片做成圆形
使用手机把照片做成圆形的基或尺方式,可以通过使用美图秀秀进行实现,让我来具体演搏高示怎么进行操作:
(参考环境: 手机型号:OPPOK9, 手机系统:Android11 ,ColorOSV11.1 APP版本:美图秀秀9.8)
1.打开手机里的美图秀秀后,点击【图片美化】。
这就是手机照片做成的圆形方法,如果还有更加便捷的方式,欢迎评论框留言交流😄。
❻ Android studio从相册里面选图片无法选中
该功能主要实现上传图片到服务器,选择图片的方式有两种,一种是从手机相册中选择,另一种是调用手机摄像头拍照。
1.从相册选择的图片会存储到 data 里面,而相机拍照的图片不会存储到 data 里面。
2.由于从相册选择的图片会存储到 data 里面,而相机拍照的图片不会存储到 data 里面,所以在获取图片资源进行回显的方式不同,请看一下详细代码:(一定要创建文件 createFileName())。