Android 实现IOS选择拍照相册底部弹出的实例

Android 实现IOS选择拍照相册底部弹出的实例

效果图

1. AndroidStudio使用

dependencies {

  compile 'com.guoqi.widget:actionsheet:1.0'

}

2. 使用

//1.实现接口

 implements ActionSheet.OnActionSheetSelected

//2.在某个点击事件中添加:
 ActionSheet.showSheet(this, this, null);

//3.然后重写点击方法:
@Override
  public void onClick(int whichButton) {
    switch (whichButton) {
      case ActionSheet.CHOOSE_PICTURE:
        //相册
        choosePic();
        break;
      case ActionSheet.TAKE_PICTURE:
        //拍照
        takePic();
        break;
      case ActionSheet.CANCEL:
        //取消
        break;
    }
  } 

//加入自己的逻辑
public void takePic(){
 String state = Environment.getExternalStorageState();
        if (state.equals(Environment.MEDIA_MOUNTED)) {
          Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
          File outDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
          if (!outDir.exists()) {
            outDir.mkdirs();
          }
          File outFile = new File(outDir, System.currentTimeMillis() + ".jpg");
          picPath = outFile.getAbsolutePath();
          intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(outFile));
          intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
          startActivityForResult(intent, ActionSheet.TAKE_PICTURE);
        } else {
          Toast.makeText(this, "请确认已经插入SD卡", Toast.LENGTH_SHORT).show();
        }
}

//加入自己的逻辑
public void choosePic(){
  Intent openAlbumIntent = new Intent(Intent.ACTION_PICK);
        openAlbumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
        startActivityForResult(openAlbumIntent, ActionSheet.CHOOSE_PICTURE);
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持,如有疑问请留言或者到本站社区交流讨论,大家共同进步!

(0)

相关推荐

  • Android判断是否有拍照权限的实例代码

    下面一段代码给大家介绍android判断是否有拍照权限,具体代码如下所示: /** * 返回true 表示可以使用 返回false表示不可以使用 */ public boolean cameraIsCanUse() { boolean isCanUse = true; Camera mCamera = null; try { mCamera = Camera.open(); Camera.Parameters mParameters = mCamera.getParameters(); //针对

  • Android SurfaceView拍照录像实现方法

    Surface的拍照实现也是很简单,一个小demo就可以把流程看懂了. 话不多说,直接上代码 布局文件 <SurfaceView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/sv_main_surface" /> <Button android:layout_width="match_

  • Android编程实现拍照功能的2种方法分析

    本文实例讲述了Android编程实现拍照功能的2种方法.分享给大家供大家参考,具体如下: Android系统的照相功能,已实现2种方法,可供大家参考: 1. 调用系统摄像头来拍照 首先,找到AndroidManifest.xml文件里加入用户权限 <uses-permission android:name="android.permission.CAMERA"></uses-permission> <uses-feature android:name=&q

  • Android编程调用系统自带的拍照功能并返回JPG文件示例【附demo源码下载】

    本文实例讲述了Android编程调用系统自带的拍照功能返回JPG文件.分享给大家供大家参考,具体如下: package com.eboy.testcamera1; import java.io.File; import java.io.FileOutputStream; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bund

  • Android 7.0中拍照和图片裁剪适配的问题详解

    前言 Android 7.0系统发布后,拿到能升级的nexus 6P,就开始了7.0的适配.发现在Android 7.0以上,在相机拍照和图片裁剪上,可能会碰到以下一些错误: Process: com.yuyh.imgsel, PID: 22995 // 错误1 android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.yuyh.imgsel/cache/1486438962645.jpg ex

  • Android仿微信单击拍照长按录像功能实例代码

    此文章是看郭神公众号发的一篇,仅作学习. 在modlue gradle中添加 compile 'cjt.library.wheel:camera:0.0.7' 在project gradle中添加 compile 'cjt.library.wheel:camera:0.0.7' 添加的地方是 allprojects { repositories { jcenter() /*在此处添加*/ } } 使用起来很方便,只需在xml布局中 <com.cjt2325.cameralibrary.JCame

  • Android自定义组件获取本地图片和相机拍照图片

    iOS中有封装好的选择图片后长按出现动画删除效果,效果如下 而Android找了很久都没有找到有这样效果的第三方组件,最后懒得找了还是自己实现这效果吧 选择图片后还可对图片进行剪裁 当然,代码中还有很多不完善的地方,我接下来会继续完善这个组件的 已经上传到开源社区,欢迎大家来Star啊~ Demo源码:传送门 设计中的碰到的一些问题和解决思路 1.如何让加号图片显示在GridView最后面 首先在调用GridAdapter构造方法时就加载加号图片 /** * 图片适配器 * @param con

  • Android 实现IOS选择拍照相册底部弹出的实例

    Android 实现IOS选择拍照相册底部弹出的实例 效果图 1. AndroidStudio使用 dependencies { compile 'com.guoqi.widget:actionsheet:1.0' } 2. 使用 //1.实现接口 implements ActionSheet.OnActionSheetSelected //2.在某个点击事件中添加: ActionSheet.showSheet(this, this, null); //3.然后重写点击方法: @Override

  • Android自定义dialog 自下往上弹出的实例代码

    具体代码如下所示: package com.example.idmin.myapplication.wiget; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.WindowManager; import android.wid

  • Android使用Activity实现从底部弹出菜单或窗口的方法

    本文实例讲述了Android使用Activity实现从底部弹出菜单或窗口的方法.分享给大家供大家参考,具体如下: 这里使用activity实现弹出滑动窗口或菜单,主要是使用了一些设置activity的样式来实现弹出窗口和滑动效果,实现如下: 第一步:设计要弹出窗口的xml布局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://sche

  • Android实现底部弹出PopupWindow背景逐渐变暗效果

    在Android开发中,经常需要通过点击某个按钮弹出对话框或者选择框,通过Dialog或者PopupMenu.PopupWindow都能实现. 这里主要介绍后两者:PopupMenu.PopupWindow的实现. 先看两个效果图上边PopupMenu,下边PopupWindow: PopupMenu PopupWindow 一.PopupMenu实现: PopupMenu实现起来比较简单,主要用来实现根据按钮附近弹出的对话框. 首先定义一个menu文件\res\menu\headmenu.xm

  • Android实现从底部弹出的Dialog示例(一)

    一.概述 先给大家看一下效果图: 点击中间的显示弹框按钮,从底部弹出来一个对话框,用户可以点击拍照或者从相册选择进行相应的操作,下面看看怎么实现. 二.代码实现 主页面布局文件,很简单,一个按钮,响应点击事件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

  • ios实现底部PopupWindow的示例代码(底部弹出菜单)

    前言 在Android中要实现底部弹出菜单很容易,有专门的PopupWindow类,我们只需要用xml订制好其内容View以及设置其弹出位置即可,非常容易.但是,在ios中就不能这么直接了,没有现成的东西,需要自己想办法来实现. 思路分析 反正最终一定要实现效果,那么内容View一定要解决掉,那么是在Interface Builder编辑实现还是直接用代码实现呢?答案是都可以,但为了方便和订制相对比较规范,建议用interface Builder编辑. 内容ok了,那么内容放在哪里?这是个核心问

  • iOS实现底部弹出PopupWindow效果 iOS改变背景透明效果

    底部弹出PopupWindow,背景变为半透明效果,采用两种方式实现 先来看看运行效果图 [方式一]实现从底部弹出PopupWindow 原理:定义一个高度为wrap_content的PopupWindow布局文件,根据屏幕底部的位置显示在Bottom 1.首先定义一个高度为wrap_content的PopupWindow布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:

  • Android仿网易严选底部弹出菜单效果

    在网易严选的看东西的时候在商品详情页里看到他的底部弹出菜单,本能反应是想用DottomSheetDialog或者PopupWindow来实现,可是发现实现不了他那种效果,于是就自己模仿一个像严选这样的底部弹出菜单. 不管是DottomSheetDialog或者PopupWindow他们的阴影背景都是全部覆盖的,这就造成除了菜单内容的View之外其他都是阴影的,而严选不是这样的.唠叨到此,首先展示效果图如下: 是不是还可以呢,由于代码量不多却注释详细,所以先贴出代码再一一详说: BottomPop

  • android底部弹出iOS7风格对话选项框(QQ对话框)--第三方开源之IOS_Dialog_Library

    先给大家展示下效果图,喜欢的朋友可以下载源码哦. 完成这个效果的是使用了 IOS_Dialog_Library 下载地址:http://xiazai.jb51.net/201509/yuanma/IOS_Dialog_Library(jb51.net) 下载后导入到Eclipse中,然后作为Library引入到自己的工程中,直接作为第三方控件使用. 测试代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a

  • Android自定义底部弹出框ButtomDialog

    本文实例为大家分享了Android自定义底部弹出框的具体代码,供大家参考,具体内容如下 先看看效果和你要的是否一样 一 .先来配置自定义控件需要的资源 1.在res文件夹下创建一个anim文件夹并创建两个slide_in_bottom.xml.slide_out_bottom.xml文件,负责弹框进出动画. <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://

随机推荐