Android-Gallery[使用C# And Java实现]

运行效果

Android-Gallery[使用C# And Java实现]

C#实现

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实现

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

<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>

 

你可能感兴趣的:(android)