图片选择------本地相册

从本地相册中选择图片


一 了解下

Android.intent.action.PICK                                                      从列表中选择某项并返回所选数据

MediaStore.Images.Media.EXTERNAL_CONTENT_URI  是获取手机的图像的URL,

“image/*”                                                                                      显示所有image类型



startActivityForResult(Intent intent, int requestCode)        此方法作用:  跳到新的Activity并,新的Acivity在finish时候向前面的那个Activity传递数据

                                            

onActivityResult(int requestCode, int resultCode, Intent data)  此方法作用  得到传递回来的数据


二 代码部分

package com.example.getpicture;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.MediaStore;
import android.provider.MediaStore.Images.Media;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;

public class MainActivity extends Activity {
   private ImageView photo;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
         photo =  (ImageView) findViewById(R.id.photo);
         photo.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
            Intent intent = new Intent(Intent.ACTION_PICK,null);
            intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");
            startActivityForResult(intent, 10);             //第二个参数为请求码
			}
		});
	}
	
	@Override
		protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
		// 第一个参数为请求码  即startActivityForResult中的哪个地方请求码
		// resultCode 结果码   作用:返回的数据来自于哪个新Activity,
			super.onActivityResult(requestCode, resultCode, data);  
			if(requestCode==10&&resultCode==RESULT_OK){  
				if(data!=null){
					photo.setImageURI(data.getData()); //将对应的URl地址(即图片)赋值给photo
				}
			}
		}
}



<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <ImageView
       android:id="@+id/photo"
       android:layout_width="100dp"
       android:layout_height="100dp"
       android:layout_centerHorizontal="true"
       android:padding="3dp"
       android:background="@android:color/holo_green_light"
       android:src="@drawable/ic_launcher" />

</RelativeLayout>

单击图片即可选择相册中图片更换原来图片。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值