`

Gallery入门

 
阅读更多

最近项目不是很忙,就研究点平时没有接接触过的控件,直接上代码,效果图附件,界面有点丑

/**
 * Created by Y on 2015/7/16.
 */
public class GalleryActivity extends Activity implements ViewSwitcher.ViewFactory{

    private Gallery gallery;
    private ImageSwitcher imageSwitcher;
    //图片源数组
    private Integer[] imageInteger={
            R.drawable.ic_launcher,
            R.drawable.logo_twitter,
            R.drawable.logo_vkontakte,
            R.drawable.logo_wechat,
            R.drawable.logo_wechatfavorite,
            R.drawable.logo_wechatmoments,
            R.drawable.logo_whatsapp
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.grally);
        initViews();
        gallery.setAdapter(new ImageAdapter(this));
        imageSwitcher.setFactory(this);
        imageSwitcher.setImageResource(imageInteger[0]);
        gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
                Toast.makeText(GalleryActivity.this, "点击了第" + (position + 1) + "张图片", Toast.LENGTH_LONG).show();
                //实现onItemSelected()方法,更换图片
                imageSwitcher.setImageResource(imageInteger[position]);
            }
        });
    }

    private void initViews() {
        gallery = (Gallery) findViewById(R.id.gallery);
        imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);
    }

    @Override
    public View makeView() {//实现makeView()方法,为ImageView设置布局格式
        ImageView i = new ImageView(this);
        //设置背景颜色
        i.setBackgroundColor(0xFF000000);
        //设置比例类型
        i.setScaleType(ImageView.ScaleType.FIT_CENTER);
        //设置布局参数
        i.setLayoutParams(new ImageSwitcher.LayoutParams(
                RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT));
        return i;
    }

    class ImageAdapter extends BaseAdapter {
        //声明Context
        private Context context;
        //声明 ImageAdapter
        public ImageAdapter(Context c){
            context = c;
        }
        @Override
        //获取图片的个数
        public int getCount() {
            return imageInteger.length;
        }
        @Override
        //获取图片在库中的位置
        public Object getItem(int position) { return position; }

        @Override
        //获取图片在库中的位置
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView imageView = new ImageView(context);
            //给ImageView设置资源
            imageView.setImageResource(imageInteger[position]);
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            //设置比例类型
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            //设置布局 图片128x192显示
            imageView.setLayoutParams(new Gallery.LayoutParams(400, 400));
            return imageView;
        }
    }
}

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <ImageSwitcher
        android:id="@+id/imageSwitcher"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        />
    <Gallery
        android:id="@+id/gallery"
        android:background="#55000000"
        android:layout_width="fill_parent"
        android:layout_height="120dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:gravity="center_vertical"
        android:spacing="16dp"
        />
</RelativeLayout>

 

  • 大小: 97 KB
分享到:
评论

相关推荐

    Android入门第十二篇之Gallery.doc

    在"Android入门第十二篇之Gallery"这篇文档中,我们将探讨如何使用Gallery控件,并通过反射机制动态加载资源中的图片。 首先,我们来看一下`main.xml`布局文件。这个XML文件定义了一个垂直布局的LinearLayout,其中...

    Android新手入门2016(15)--Gallery画廊

    在Android开发领域,新手入门的过程中,经常会接触到各种UI组件的学习,其中之一就是`Gallery`。`Gallery`是Android SDK提供的一种可以水平滚动展示多个项目的控件,常用于图片浏览或者选项选择。在2016年的Android...

    Android入门第十三篇之Gallery + ImageSwitcher.docx

    在Android开发中,`Gallery`控件和`ImageSwitcher`是两个非常有用的组件,尤其在创建图片轮播或相册应用时。本篇文章将详细解释如何将它们结合起来使用,以实现一个简单的图片浏览功能。 `Gallery`是Android提供的...

    Android入门第十三篇之Gallery + ImageSwitcher.doc

    在Android开发中,`Gallery`和`ImageSwitcher`是两个非常实用的UI组件,用于创建滑动浏览图片的应用场景。本教程将介绍如何将这两个控件结合起来,以实现一个简单但功能完整的图片浏览器。 首先,`Gallery`控件是一...

    gallery web照片管理 v3.0.9

    只需按照向导的提示,就能完成基本的设置工作,如数据库连接、权限设定等,大大降低了入门门槛。同时,Gallery还支持自动创建缩略图功能,这不仅减少了手动操作的工作量,也提高了网页加载速度,使得浏览体验更为...

    Android入门之Gallery+ImageSwitcher用法实例解析

    本文将深入解析如何在Android入门项目中结合使用这两个控件,为Android初学者提供有价值的参考。 首先,`Gallery`是一个水平滚动的视图容器,它可以展示一系列的子视图,并允许用户通过左右滑动来切换不同的子视图...

    Android入门之Gallery用法实例解析

    在Android开发中,Gallery控件是一个非常实用的组件,它主要用于展示一系列的图像,用户可以通过左右滑动来浏览。在本实例中,我们将深入探讨如何使用Gallery并结合反射机制动态加载资源中的图片。 首先,我们需要...

    Graphviz入门教程

    Graphviz的安装非常简单,只需要访问官方网站http://www.graphviz.org/Gallery.php,选择与您电脑操作系统相符合的版本,并下载安装。对于Windows用户,可以下载msi文件,并按照提示安装完成后,在环境变量中添加...

    PowerPivot 入门手册_giantu54_PowerPivot_

    - 在SharePoint环境中,PowerPivot工作簿可以发布到Power Pivot Gallery,便于团队成员查看和交互。 - 通过PowerPivot for SharePoint,用户可以创建和维护数据模型,同时支持权限管理和版本控制。 6. **性能优化...

    CGS.rar_art gallery_cgs_cgs art gallery

    这个系统具备基本的艺术品信息管理、添加、列表展示以及交易处理等功能,对于初学者来说,它是一个理想的入门教程,可以帮助新手快速理解和掌握软件开发的基本流程。 首先,我们要理解"art_gallery"这个标签所代表...

    Android 入门

    本教程将从Android的系统架构入手,逐步介绍环境搭建、基础布局、数据传递等新手入门必须掌握的知识点。 首先,了解Android的系统架构是入门的第一步。Android系统架构可分成四层,从上至下依次是应用程序层、应用...

    android初学者入门项目

    46、Gallery3d效果 47、ListView 上拉加载更多效果 48、异步加载图片的二级缓存技术 49、QQ的好友列表展示效果 50、Fragment + ViewPager实现tab滑动切换 51、能够显示在桌面前面的的歌词效果 52、activity切换...

    Android控件系列之相册Gallery&amp;Adapter适配器入门&amp;控件缩放动画入门

    在Android开发中,`Gallery`控件是一个非常有用的组件,用于展示一系列的图片或其他视图,通常用于创建相册或轮播效果。本文将引导你了解如何使用`Gallery`控件以及与其相关的`Adapter`适配器,同时会介绍如何实现...

    Saber仿真软件入门教程

    Saber仿真软件入门教程概述 Saber仿真软件是一款功能强大电子电路仿真软件,对电子电路和开关电源开发的朋友非常有帮助。这款软件提供了一个完整的设计和仿真环境,能够帮助用户快速设计和仿真电子电路。 知识点1:...

    Android课件 入门学习

    【第五章Android的Gallery】章节则涉及了Gallery组件,这是一个可以左右滑动浏览图片或项目的控件。虽然在最新的Android版本中已被替换为其他组件,但理解其工作原理对理解Android的滚动视图仍然有帮助。 进入数据...

    pro-gallery:专为网络打造的快速而美丽的画廊

    React灵敏延迟加载无限滚动完全可定制支持图像,视频和HTML入门最好的入门方法是使用 。 使用边栏配置所需的画廊布局。 完成后,单击“ Generate Gallery Code按钮以获取可复制粘贴的代码。 之后,您需要做的就是...

Global site tag (gtag.js) - Google Analytics