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>
  • 相关阅读:
    C#过滤重复数据,使用泛型
    office2007:您正试图运行的函数包含有宏或需要宏语言支持的内容。而在安装此软件时,您(或您的管理员)选择了不安装宏或控件的支持功能
    InstallShield高级应用获取本机所有的SQL服务
    结对项目
    ActiveMQ 初学1:ActiveMQ 创建连接对象
    【JVM】jstack和dump线程分析(2)
    【JVM】jstack 查询占用最大资源线程|排查死循环等
    【java多线程】volatile 关键字
    1.zookeeper原理解析数据存储之Zookeeper内存结构
    【数据算法】Java实现二叉树存储以及遍历
  • 原文地址:https://www.cnblogs.com/rohelm/p/4357995.html
Copyright © 2011-2022 走看看