显示图片,利用系统浏览方式显示SD卡图片

上篇文章中有显示SD卡中图片的介绍,显示效果会比较炫一些,但是相对很麻烦,在此呢,我有找到另一种方法:调用系统提供方法显示SD卡内容。
效果:点击选择图片按钮,跳到另一张图片显示SD卡内的图片,在这些图片中点击任意以图片,就会显示在前段ImageView中。
1。首先定XML,显示ImageView和Button。
<ImageView
android:id="@+id/call_image"
android:layout_width="150dip"
android:layout_height="150dip"
android:layout_below="@id/line_downcb"
android:src="@drawable/icon"
/>
<Button
android:id="@+id/call_chose"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/line_downcb"
android:layout_alignTop="@id/call_image"
android:layout_alignParentRight="true"
android:text="@string/call_chosepicture"
/>
2。在Activity中定义响相应方法
public class MyPhoneText extends Activity {
private Button bt_choose;//选择图片按钮
private ImageView imageShow;//图片显示区
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.call);

findViewId();
setButtonOnClickListener(); //监听按钮


}


public void findViewId(){

bt_choose = (Button)findViewById(R.id.call_chose);
imageShow = (ImageView)findViewById(R.id.call_image);
}

//按钮监听事件
public void setButtonOnClickListener(){

//选择图片,跳转图片浏览Activity界面
bt_choose.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Intent in = new Intent();
in.setType("image/*");
in.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(in,1);
}
});

}

public void onActivityResult(int requestCode,int resultCode,Intent data){
if(resultCode == RESULT_OK){
Uri uri = data.getData();
uri.getPath();
Log.v("MyPhoneText","path="+uri.getPath());
ContentResolver cr = this.getContentResolver();
try{
Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));
imageShow.setImageBitmap(bitmap);
}catch(FileNotFoundException e){
e.printStackTrace();
}
}
super.onActivityResult(requestCode, resultCode, data);
}

此方法相对简单,唯一难点就是获取图片路径。应该是因为调用系统方法显示的时候,系统会把SD卡内的图片全部取出并且重新放在某一位置重新排列并给它们相应的序号。感兴趣的同学们可以用Log一下,看看结果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值