当前位置:主页 > 移动开发 > Android代码 >

Android利用Intent实现读取图片操作

时间:2021-01-16 12:30:55 | 栏目:Android代码 | 点击:

本文实例演示如何从图库(Gallery)中读取图像并用ImageView将它显示出来,供大家参考,具体内容如下
运行本示例前,需要先利用相机模拟拍摄一些图片到图库中。

1、运行截图

  

2、主要设计步骤

(1)添加ch1203_ReadGallery.axml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <Button
    android:id="@+id/btn1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="30dp"
    android:layout_gravity="center"
    android:text="从图库中挑选一幅图片" />
  <TextView
    android:text="你挑选的图片为:"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/textView1"
    android:layout_gravity="center"
    android:layout_margin="30dp" />
  <ImageView
    android:id="@+id/myImageView"
    android:layout_gravity="center"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</LinearLayout>

(2)添加ch1203ReadGallery.cs

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Widget;

namespace MyDemos.SrcDemos
{
  [Activity(Label = "【例12-3】读取图库图片")]
  public class ch1203ReadGallery : Activity
  {
    protected override void OnCreate(Bundle savedInstanceState)
    {
      base.OnCreate(savedInstanceState);
      SetContentView(Resource.Layout.ch1203_ReadGallery);
      var btn1 = FindViewById<Button>(Resource.Id.btn1);
      btn1.Click += delegate {
        var imageIntent = new Intent();
        imageIntent.SetType("image/*");
        imageIntent.SetAction(Intent.ActionGetContent);
        StartActivityForResult( Intent.CreateChooser(imageIntent, "选择的图片:"), 0);
      };
    }

    protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
    {
      base.OnActivityResult(requestCode, resultCode, data);
      if (resultCode == Result.Ok)
      {
        var imageView = FindViewById<ImageView>(Resource.Id.myImageView);
        imageView.SetImageURI(data.Data);
      }
    }
  }
}

您可能感兴趣的文章:

相关文章