Android相册效果(使用C#和Java分别实现)

时间:2021-05-02

运行效果

C#实现

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 using Android.App; using Android.OS; using Android.Widget; namespace ImageDemo { [Activity(Label = "@string/ApplicationName", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity { private Gallery _gallery; private ImageView _selectedImg; private readonly int[] _imageIds = { Resource.Drawable.test1, Resource.Drawable.test2, Resource.Drawable.test3, Resource.Drawable.test4, Resource.Drawable.test5, Resource.Drawable.test6, Resource.Drawable.test7, Resource.Drawable.test8 }; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); _gallery = FindViewById<Gallery>(Resource.Id.gallery); _selectedImg = FindViewById<ImageView>(Resource.Id.currentImg); _gallery.Adapter = new ImageAdapter(this, _imageIds); _gallery.ItemSelected += Gallery_ItemSelected; } private void Gallery_ItemSelected(object sender, AdapterView.ItemSelectedEventArgs e) { _selectedImg.SetImageResource(_imageIds[e.Position]); } } public class ImageAdapter : BaseAdapter { private readonly Context _context; private readonly int[] _imageIds; public ImageAdapter(Context context,int[]imageIds) { _context = context; _imageIds = imageIds; } public override Object GetItem(int position) { return null; } public override long GetItemId(int position) { return 0; } public override int Count { get { return _imageIds.Length; } } public override View GetView(int position, View convertView, ViewGroup parent) { var image = new ImageView(_context); image.SetImageResource(_imageIds[position]); image.LayoutParameters = new Gallery.LayoutParams(150, 100); image.SetScaleType(ImageView.ScaleType.FitXy); return image; } } }

Java实现

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 package com.example.halower.gallerydemo; import android.content.Context; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; import static android.widget.Gallery.LayoutParams; public class MainActivity extends ActionBarActivity { private int[] imageIds = { R.drawable.test1, R.drawable.test2, R.drawable.test3, R.drawable.test4, R.drawable.test5, R.drawable.test6, R.drawable.test7, R.drawable.test8 }; Gallery gallery; ImageView currentView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gallery=(Gallery) findViewById(R.id.gallery); ImageAdapter adapter=new ImageAdapter(this,imageIds); currentView = (ImageView)findViewById(R.id.currentImg); gallery.setAdapter(adapter); gallery.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){ @Override public void onItemSelected(AdapterView<?> parent, View view, int position,long id) { currentView.setImageResource(imageIds[position]); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } } class ImageAdapter extends BaseAdapter { Context _context; int[] imageIds; public ImageAdapter(Context context,int[] imageIds){ _context=context; this.imageIds=imageIds; } @Override public int getCount() { return imageIds.length; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView=new ImageView(_context); imageView.setImageResource(imageIds[position]); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setLayoutParams(new LayoutParams(70,100)); return imageView; } }

layout

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <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" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <ImageView android:layout_width="320dp" android:layout_height="320dp" android:id="@+id/currentImg" android:layout_centerHorizontal="true" /> <Gallery android:layout_width="match_parent" android:layout_height="wrap_content" android:unselectedAlpha="0.6" android:spacing="2pt" android:layout_below="@+id/currentImg" android:id="@+id/gallery" /> </RelativeLayout>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章