直接上代码

1.Layout——Main.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"
    android:minWidth="25px"
    android:minHeight="25px">
    <TextView
        android:text="@string/Welcome"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/textView1" />
    <Gallery
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/gallery1" />
</LinearLayout>

2.Activity1.cs

using System;
    
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Database;
using Android.Provider;
    
namespace GalleryViewDemo
{
    [Activity(Label = "Gallery View Sample", MainLauncher = true, Icon = "@drawable/icon")]
    public class GalleryViewSample : Activity
    {
    
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
    
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);
            CreateGallery();
        
        }
    
    
        private void CreateGallery()
        {
            Gallery g = this.FindViewById<Gallery>(Resource.Id.gallery1);
            g.Adapter = new ImageAdapter(this);
        }
    }
}
         

3.ImageAdapter.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;using Android;using Android.App;using Android.Content;using Android.OS;using Android.Runtime;using Android.Views;using Android.Widget;using Android.Database;using Android.Provider;namespace GalleryViewDemo{    public class ImageAdapter : BaseAdapter    {        Context _Context;        ICursor _ImageCursor;        protected ICursor ImageCursor        {            get            {                if (_ImageCursor == null)                {                    _ImageCursor = GetImageCursor();                }                return _ImageCursor;            }            set            {                _ImageCursor = value;            }        }        public ImageAdapter(Context c)        {            _Context = c;        }        private ICursor GetImageCursor()        {            string[] Projection = { MediaStore.Images.Thumbnails.ImageId };            var ImageCursor = ((Activity)_Context).ManagedQuery(MediaStore.Images.Thumbnails.ExternalContentUri,                Projection, null, null, null);            return ImageCursor;        }        public override int Count        {            get { return ImageCursor.Count; }        }        public override Java.Lang.Object GetItem(int position)        {            return position;        }        public override long GetItemId(int position)        {            ImageCursor.MoveToPosition(position);            var ImageId = ImageCursor.GetString(0);            return position;        }        public override View GetView(int position, View convertView, ViewGroup parent)        {            if (convertView == null)            {                ImageView ReturnView = new ImageView(_Context);                ImageCursor.MoveToPosition(position);                var ImageId = ImageCursor.GetString(0);                ReturnView.SetImageURI(Android.Net.Uri.WithAppendedPath(MediaStore.Images.Thumbnails.ExternalContentUri, ImageId));                ReturnView.SetScaleType(ImageView.ScaleType.CenterCrop);                return ReturnView;            }            else            {                return(ImageView) convertView;            }        }    }}

在模拟器中,先下载了两幅图片,运行成功。

在手机上运行失败,尚不知道原因,求解。

更多相关文章

  1. Android 获取手势onfling代码片段
  2. android —— 常用代码utils
  3. Android中打开扬声器关闭麦克风的代码实现
  4. Android Studio:在xml布局中不能自动补全代码
  5. Android之android.os.DeadObjectException原因
  6. 几行让android进入休眠的c代码

随机推荐

  1. 【翻译】(8-补丁1)Android接口定义语言(AI
  2. Android之Google Map(一)
  3. android 多项对话框
  4. android有用网址
  5. [转] 软键盘android:windowSoftInputMode
  6. Android 常用的权限
  7. 探索Android该Parcel机制上
  8. Android 角标 BadgeView/android-viewbad
  9. Android(安卓)自定义View - 启航 一般Vie
  10. 2013.07.22——— android 修改hosts