• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

运行效果

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>

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
新博客建立完成!(C#精髓篇)发布时间:2022-07-10
下一篇:
C#语言新特性与Linq查询知识点发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap