zoukankan      html  css  js  c++  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>
  • 相关阅读:
    Network (poj1144)
    C. Hongcow Builds A Nation
    ZYB loves Xor I(hud5269)
    D. Chloe and pleasant prizes
    Game(hdu5218)
    约瑟夫环的递推方法
    Misaki's Kiss again(hdu5175)
    Exploration(hdu5222)
    B. Arpa's weak amphitheater and Mehrdad's valuable Hoses
    C. Arpa's loud Owf and Mehrdad's evil plan
  • 原文地址:https://www.cnblogs.com/rohelm/p/4357995.html
Copyright © 2011-2022 走看看