这里,要把选择 和 截剪后的图片存到sdcard 上的指目录中,那么就要有操作sdcard 权限

    <!-- 往sdcard中写入数据的权限 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <!-- 在sdcard中创建/删除文件的权限 -->    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

然后在activity 调用

public void onclickFun(View view) {Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);innerIntent.putExtra("crop", "true");// 才能出剪辑的小方框,不然没有剪辑功能,只能选取图片innerIntent.putExtra("aspectX", 1); // 出现放大和缩小innerIntent.setType("image/*"); // 查看类型 详细的类型在 com.google.android.mms.ContentType //===============================//                       innerIntent.setType("image/*"); //innerIntent.putExtra("crop", "true");   //innerIntent.putExtra("aspectX", 1);//裁剪框比例  //innerIntent.putExtra("aspectY", 1);  //innerIntent.putExtra("outputX", 120);//输出图片大小  //innerIntent.putExtra("outputY", 120);  //================================tempFile=new File("/sdcard/ll1x/"+Calendar.getInstance().getTimeInMillis()+".jpg"); // 以时间秒为文件名File temp = new File("/sdcard/ll1x/");//自已项目 文件夹if (!temp.exists()) {temp.mkdir();}innerIntent.putExtra("output", Uri.fromFile(tempFile));  // 专入目标文件   innerIntent.putExtra("outputFormat", "JPEG"); //输入文件格式  Intent wrapperIntent = Intent.createChooser(innerIntent, "先择图片"); //开始 并设置标题startActivityForResult(wrapperIntent, 1); // 设返回 码为 1  onActivityResult 中的 requestCode 对应}

返回数据

//调用成功反回方法@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch (requestCode) {        case 1:        imageView.setImageDrawable(Drawable.createFromPath(tempFile.getAbsolutePath()));        break;}}

添加上一个 例子:

1、layout 文件 get_images_view.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="@color/white"    android:gravity="center"    android:orientation="vertical" >    <ImageView        android:id="@+id/showSelectImageId"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="onclickFun"        android:text="选择图片" /></LinearLayout>

2、Activity 类

package com.main;import java.io.File;import java.util.Calendar;import android.app.Activity;import android.content.Intent;import android.graphics.drawable.Drawable;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.widget.ImageView;public class GetImagesActivity extends Activity {private ImageView imageView;private File tempFile;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.get_images_view);imageView = (ImageView) findViewById(R.id.showSelectImageId);}public void onclickFun(View view) {Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);innerIntent.putExtra("crop", "true");// 才能出剪辑的小方框,不然没有剪辑功能,只能选取图片innerIntent.putExtra("aspectX", 1); // 出现放大和缩小innerIntent.setType("image/*"); // 查看类型 详细的类型在 com.google.android.mms.ContentType tempFile=new File("/sdcard/ll1x/"+Calendar.getInstance().getTimeInMillis()+".jpg"); // 以时间秒为文件名File temp = new File("/sdcard/ll1x/");//自已项目 文件夹if (!temp.exists()) {temp.mkdir();}innerIntent.putExtra("output", Uri.fromFile(tempFile));  // 专入目标文件   innerIntent.putExtra("outputFormat", "JPEG"); //输入文件格式  Intent wrapperIntent = Intent.createChooser(innerIntent, "先择图片"); //开始 并设置标题startActivityForResult(wrapperIntent, 1); // 设返回 码为 1  onActivityResult 中的 requestCode 对应}//调用成功反回方法@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch (requestCode) {        case 1:        imageView.setImageDrawable(Drawable.createFromPath(tempFile.getAbsolutePath()));        break;}}}

3、 AndroidManifest.xml 加上权限

<!-- 往sdcard中写入数据的权限 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <!-- 在sdcard中创建/删除文件的权限 -->    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

ok

更多相关文章

  1. Android权限问题
  2. Android的Btimap处理大图片解决方法
  3. 如何实现手势缩放图片
  4. 直播软件源码Android 多个ImageView拖拽互换图片
  5. 【Android 界面效果6】Android 控件之ImageSwitcher图片切换器
  6. android图片上传

随机推荐

  1. Android全局主题样式控制,语言设置、主题
  2. 启动android默认浏览器
  3. android 9.0 设置 应用应用信息 隐藏 app
  4. Android隐式启动Activity可能存在的坑
  5. 设置ListView分割线
  6. Android 7.1 触摸事件代码跟踪
  7. android各版本对应的SDK level(包括androi
  8. [Android 特效] Android 通过流播放声音(
  9. Android写Logcat文件保存到SD卡
  10. android用Popup弹出窗(PopupWindow的使用