WebView控件是经常用到的,如果WebView中有选择图片这种操作,光是settings.setJavaScriptEnabled(true); 还是不够的,还需要重写WebChromeClient...getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); } /** * 本地相册选择图片...=data){ // 好像是android多媒体数据库的封装接口,具体的看Android文档 cursor = managedQuery(data.getData...png或jpg格式", Toast.LENGTH_SHORT).show(); return null; } // 按我个人理解 这个是获得用户选择的图片的索引值...; import android.graphics.BitmapFactory; import android.media.ExifInterface; import android.text.TextUtils
而且,功能也不算是很齐全吧…主要体现在以下几个点 没有回调之后的预览 选择之后不能删除已选 已选择的图片再次选择不能带过去 剪裁 压缩 权限 Glide版本过低 但是,也是有特点的 MD风格 白天模式和夜间模式...相比之下,昨天出的Android 选择图片、上传图片之PictureSelector就更加友好和人性化了。 下面来说说集成遇到的问题以及解决方案。...你以为从sample中copy copy代码,导下包就能跑起来了吗,nonono 选择器不光是有图片的吧,你可能还有gif和视频啊,所以在配置的时候你要选择一个type啊 sample是这样的 Matisse.from...遇到几个点还没有解决,也懒得深入研究了,我要回家过年,哼 拍照还是选择相册,没有处理 预览,选择图片的时候可以预览,但是回调之后并不行,没有处理 onActivityResult回调之后的图片不能直接删除...,没有处理 剪裁,没有处理 压缩,没有处理 哦对了,如果可以预览了,那还得可以保存图片呢,也没有处理,因为预览没有处理,哈哈哈嗝 已选择的图片,再次选择的时候带过去,没有处理 那有人就会说了,这么多没有的功能
(2019-07-05) 之前出过一篇 Android 选择图片、上传图片之ImagePicker,这个是okgo作者出的,就一般需求来讲是够了,但是没有压缩,需要自己去搞。...后来业务需求提升,页面要美,体验要好,便不是那么满足需求了,所幸在github上找到PictureSelector(然后当时没多久Matisse就开源了…可以看这里Android 选择图片、上传图片之Matisse...也不用自己再撸一个了,下面来介绍介绍PictureSelector github https://github.com/LuckSiege/PictureSelector 目前是一直在维护的,支持从相册或拍照选择图片或视频...--选择图片样式0/9--> false <!...theme()//主题样式(不设置为默认样式) 也可参考demo values/styles下 例如:R.style.picture.white.style .maxSelectNum()// 最大图片选择数量
效果图: 后来又出了两篇,也可以看一下 Android 选择图片、上传图片之PictureSelector Android 选择图片、上传图片之Matisse 添加依赖: 选择图片:compile...; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7....widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import...= 101; private ImagePickerAdapter adapter; private ArrayList selImageList; //当前选择的所有图片...private int maxImgCount = 8; //允许选择图片最大数 private HttpUtil httpUtil; @Override
public class MainActivity extendsAppCompatActivity {int REQUEST_CODE = 0;private...
Manifest.permission.CAMERA}, REQUEST_CODE_ASK_PERMISSIONS); } else { startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE...grantResults[0] == PackageManager.PERMISSION_GRANTED) { startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE...} } 选取相册图片 private static final int IMAGE = 1; void choose_photo_layout_click() { //调用相册 Intent...intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI...String imagePath = c.getString(columnIndex); showImage(imagePath); c.close(); } } //加载图片
前言 最近在自己的项目里实现了一个头像选择的功能,就是先从相册里选取一张图片再调用系统的裁剪功能来制作头像,效果就像下面这样: 本以为很小的一个功能,却远远没有我想的那样简单,可以说每一步都暗藏玄机,下面就让我带大家看看这里面究竟有哪些坑...Android 4.4 之存储访问框架 首先,让我们从图片选择开始,使用隐式 Intent 跳转到图片选择: private void routeToGallery() { Intent intent...),简单来说就是 Android 提供了一个专门供用户访问资源的软件,将设备上所有可以访问资源的软件接口都整合到了一起,避免了用户只能选择一个特定软件的尴尬,在 Android 4.4 以下,我们发送刚才选取图片的隐式...Intent,效果是这样的,需要用户去选择使用哪个应用: 而从 Android 4.4 开始,就变成了这样: 直接打开一个资源选取的软件(这个软件平时是隐藏的,不会显示在软件列表中),其中包含了访问设备上所有可访问资源软件的接口...7.0 之 FileProvider 完成了图片的选择功能,转眼又碰到了一个问题: Android 为了提高私有文件的安全性,从 7.0 开始对外传递file://类型的uri会触发FileUriExposedException
最近公司有一个选择图库的需求,需要支持图片和视频,网上找了很多,基本是16,17年的代码,大部分也是转载的内容,因为之前做过自定义拍照和相册,以及使用gpuImage实现滤镜、贴纸等效果,所以决定自己动手撸一个...已经有一年多没有写Android代码了,主要现在做前端去了,写这篇博客的目的也是为了方便之后自己查找。下面是实现的Android图库的效果,基本上是抄的微信的,如下图。...核心的实现很简单,就是自己写一个线程,去扫描本地的MediaStore实体类中的图片和视频,为了提高扫描的性能,我们将扫描的线程扔到线程池中,可以详细阅读ImageLoadTask、MediaLoadTask
效果图 需求分析 网格布局显示本地图片 支持图片多选 支持选中的图片预览 未选择图片时不可预览 由已选多图变为无图时可退出图片选择页面 图片已选达到上限后依然可以跳转图片选择页面 第三方框架使用 史上最强的安卓图片选择器...Android Studio菜单栏File->New->import Module......,导入GalleryFinal源代码到Android Studio: ?...未选择时 ? 选择图片时 本人实现的可支持最大图片数量是5,在图片选满的时候依然显示“+”,用以跳转图片选择页面选择其他图片。...选择图片数量达到上限时无法进入图片选择页面 无图片选择时,无法点击浮动按钮进行返回 ?
好了下面具体的分析一下:(想要做出功能,需求分析是必不可少的,需求、逻辑弄懂了再上手写代码,思路会很清晰的) 1.多图上传首先得选择图片(这里项目需求是既可以拍照上传也可以从相册中选择) 2.拍照上传很简单了网上也有很多例子...,调用照相机,返回uri,获取图片 3.从相册中选择图片 3.1 获取手机中的所有图片 3.2 将图片存到自定义图片数组中显示 3.3 自定义ViewPager浏览图片 . ....,适配器(新建、上传失败、上传成功的图片我用的都是一个adapter) ImageItem是图片的模型,下面有它的属性 //从图库选择的图片model public class ImageItem extends...,adapter中添加一个flag用来显示新建的图片,将选择的图片添加到公有的图片数组中,初始化的时候加载图片数组显示。...Bimp.tempSelectBitmap.size() + "/"+ NeedApplication.picNums+")"); } isShowOkBt(); } }); 点击图片选择加到公有图片数组中显示已选择
; 相册 相比较拍照,相册要简单一点,代码中都有注释,直接看: //拍照的一个表示 TAKEPAHTO = 0; //调用系统图库,选择图片...//Intent.ACTION_PICK 意思是选择数据,其具体表达有: // Intent intent = new Intent(Intent.ACTION_GET_CONTENT...Log.e("uri=====", "" + uri); //com.android.camera.action.CROP,这个action是调用系统自带的图片裁切功能...Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(uri, "image...// 比如如果图片来源于网络,就可以使用decodeStream方法; // 如果是sd卡里面的图片,就可以选择decodeFile方法; // 如果是资源文件里面的图片
接上文:Android的前景与背景 在Android中如果是给图片设置点击事件,为了用户的体验有必要添加动态点击效果 效果图如下: 主要代码如下 实现: 第一步: 在控件中设置背景为selector_setting...:(记得加clickable标签----->设置是否可以点击) 第二步:创建selector_setting.xml文件: 第三步,找两张不同的图片(博主是用shape实现的):如下: setting_press.xml...> android="http://schemas.android.com/apk/res/android" android:shape="oval"> 图片形状 oval:椭圆--> android:width="32dp" android:height="32dp"/> 图片形状 oval:椭圆--> android:width="32dp" android:height="32dp"/> <!
--此处显示图片整体--> <ImageView android:id="@+id/imagel" android:layout_width="wrap_content..."/> 代码实现透明度改变: public class MainActivity extends AppCompatActivity { //定义一个访问图片的数组...int currentImg = 2 ; //定义图片初始透明度 private int alpha = 255 ; @Override protected...R.id.imagel); final ImageView imageView02 = (ImageView) findViewById(R.id.image2); //定义查看下一张图片的监听器.../获取第一个托片显示框中的位图 Bitmap bitmap = bitmapDrawable.getBitmap(); //bitmap图片实际大小与第一个
—— 佛洛依德 直接上代码吧 new AlertDialog.Builder(activity) // 设置标题 .setTitle("请选择") .
Android 图片裁剪 前言 正文 一、创建并配置项目 二、权限申请 三、获取图片Uri 四、图片裁剪 尾声 运行效果图 ?...前言 图片裁剪是对图片进行区域选定,然后裁剪选定的区域,形成一个图片,然后再对这个图片进行压缩,最终返回结果图片。...嗯,图片显示出来了,图片的url也拿到了,下面该做这个图片的剪裁了。...四、图片裁剪 既然是调用Android系统的图片裁剪,那么自然也和打开系统相册差不多,依然是先创建一个请求码: /** * 图片剪裁请求码 */ public static...// 调用系统中自带的图片剪裁 Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType
三三要成为安卓糕手 一:xml中设置图片 1:xml代码 <ImageView android:layout_width="100dp" android:layout_height...="150dp" android:alpha="0.5" android:scaleType="centerInside" android:src...,是 centerInside 的 “适配容器优先” 版本(可能放大图片) (3)src 传入参数@drawable/图片名字 二:Android中三种加载图片的方式 0:资源文件的命名 我们一般把图片放到...:android="http://schemas.android.com/apk/res/android" android:width="32dp" android:height="32dp..." android:viewportWidth="1024" android:viewportHeight="1024"> <path android:pathData=
> <AbsoluteLayout android:id="@+id/root" xmlns:android="http://schemas.android.com/apk/res/android...="wrap_content" android:layout_x="20dp" android:layout_y="225dp" android:text..."/> Java代码 动态设置头像: //点击 切换图片 public class Home extends AppCompatActivity { private...LinearLayout mainLayout=null; private ImageView iv=null; //定义一个访问图片的数组 int[] images = new...int[]{//放置你的图片 R.drawable.gass, R.drawable.gonzhixiaochou }; //用于图片切换
包括图片文件的文件组织,nine-path图片,系统选择不同设备针对的图片时的规则等。...在Android项目中,图片资源的组织,正是按照pixel density来进行不同屏幕的分组。...other drawable resources, you should put one copy in the default drawable directory (drawable/). 4.系统对图片资源的选择规则和使用方式...对应一个代码中用到的图片资源,Android系统会使用以下步骤来选择出最适合当前运行设备的图片资源文件进行显示: 系统寻找匹配当前屏幕像素密度的可用图片文件。...如果没有找到匹配的文件,系统使用默认的图片资源,并对它进行缩放。 系统会使用合适的图片,进行缩放。例如,设备像素密度为ldpi,应用提供了hdpi的图片,那么系统会选择对hdpi的图片缩放0.5。
问题现象: 正常显示默认的所有的图片,当点击切换相册的时候,相册的图片是空的 因为项目已经不再维护,故下载源码,import module到项目中 修复步骤: 1、MatisseActivity private
二、Android读取图片资源 Drawable目录 已将图片保存到drawable目录下,通过图片id获得Drawable或者Bitmap,此方式最常用。...肯定心里会想,放在哪一个都行,只要是在android中的res目录下的drawable中就行,系统会自己找到。...1)不同的layout Android手机屏幕大小不一,有480×320, 640×360, 800×480.怎样才能让App自动适应不同的屏幕呢?...layout-640×360,layout-800×480,layout-xhdpi,layout-xhdpi-v19所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的...加入这一行 android:screenOrientation="landscape" 其中(landscape是横向,portrait是纵向):