本文将介绍Gallery控件的简单使用,Gallery控件用于灵活展示图片。

先附上我的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<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"
    tools:context="com.example.mytest.MainActivity">

    <Gallery
        android:id="@+id/gallery"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

接下来,我们需要在MainActivity的oNCreate方法中加入这段话:

Gallery gallery = (Gallery) findViewById(R.id.gallery);

这样一来,我们便可以对Gallery控件进行一些操作。

为了将图片资源用Gallery展示,我们需要创建一个适配器。在一般的工程项目中,自定义Adapter是比较常见的,因此,本文也选择使用自定义的Adapter:

package com.example.mytest;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

/**
 * Created by ZWH on 2016/5/16.
 */
public class GalleryAdapter extends BaseAdapter {private Context mContext;
    //设置要展示的图片资源
    int[] images = {R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher};

    public GalleryAdapter(Context context) {this.mContext = context;
    }@Override
    public int getCount() {return images.length;
    }@Override
    public Object getItem(int i) {return i;
    }@Override
    public long getItemId(int i) {return i;
    }@Override
    public View getView(int i, View view, ViewGroup viewGroup) {//在此最好判断一下view是否为空
        ImageView image = new ImageView(mContext);
        image.setImageResource(images[i]);
        image.setAdjustViewBounds(true);
        //设置宽高
        image.setLayoutParams(new Gallery.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        return image;
    }
}

接下来,就在MainActivity中是为Gallery配置适配器了,附上我MainActivity中的代码:

package com.example.mytest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Gallery;
import android.widget.Toast;

/**
 * Created by ZWH on 2016/5/16.
 */
public class MainActivity extends AppCompatActivity {GalleryAdapter galleryAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Gallery gallery = (Gallery) findViewById(R.id.gallery);
        galleryAdapter = new GalleryAdapter(MainActivity.this);
        gallery.setAdapter(galleryAdapter);
        //相应的点击事件
        gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {Toast.makeText(MainActivity.this, "您点击的是" + i, Toast.LENGTH_LONG).show();
            }});
    }
}

最后,附上效果图:

                             

安卓开发中Gallery控件的使用相关推荐

  1. android include 控件详解,Android开发中include控件用法分析

    本文实例讲述了Android开发中include控件用法.分享给大家供大家参考,具体如下: 我们知道,基于Android系统的应用程序的开发,界面设计是非常重要的,它关系着用户体验的好坏.一个好的界面 ...

  2. 『安卓』安卓开发基础--基本控件

    1. Textview 显示文字,相当于Panel.一般用来文本展示,继承自android.view.View,在android.widget包中. <TextView//控件id androi ...

  3. android开发中WebView控件的实例与注意要点——个人主页浏览器简易实现

    转自:http://itindex.net/detail/53169- ... 80%E5%8F%91-webview 在Android开发中往往需要实现网页的浏览,webview就是android开 ...

  4. 安卓开发打造闪光控件效果

    使用方法: 配置工程 首先,我们在GitHub上将该项目clone到本地: https://github.com/facebook/shimmer-android 接下来我们在Android stud ...

  5. ASP.NET Web开发中Repeater控件的使用

    在ASP.NET中数据绑定是其提供的访问数据库的方法,数据控件则是用来显示从数据库中获取的数据. 首先讲下待会要用到的属性和方法: DataBind():显示绑定的数据 DataSource:指定数据 ...

  6. Android开发中的控件--ProgressBar和ListView

    ProgressBar即进度条,相信对于用户来说并不陌生,当用户等待某一动作的执行时就会出现这个控件提醒用户执行的进度,一种是水平方向的,另一种是圆形的. ListView即列表控件,一般Activi ...

  7. 安卓锁屏音乐控件开发

    首先我个人先吐槽一下,这是一个吃力不讨好的活.为什么?因为现在安卓手机的各种定制rom五花八门,各种各样,miui.乐蛙.emui.努比亚...我们今天要做的事情就是要在各种系统的锁屏界面,出现一个音 ...

  8. QT中树控件QTreeView开发实例

    转自:http://mobile.51cto.com/symbian-268700.htm 本文讲解了QT中树控件QTreeView开发实例,对于QTreeView没有过多的讲解,那么不说废话了,看代 ...

  9. 关于安卓listview获得item中的控件问题

    我的程序里面是用到了安卓的listview来显示数据,主要用SimpleAdapter适配器,然而怎么获取listview的item中的控件呢?就如说我这里做了一个显示地址管理. 而让我苦恼的是要怎么 ...

最新文章

  1. java控制器删除数据_javaWeb删除一条及多条数据
  2. 2020-2-15技术积累-时间插件-前端获取后端数据生成表格
  3. Android 原生通知Notification 写法
  4. java注释和注解_深入理解JAVA注解(Annotation)以及自定义注解
  5. 【MySQL入门】(一)安装与配置MySQL
  6. vcpkg 简明教程
  7. 硬件 JavaScript - 一个【电阻分压器 - 计算器】
  8. ftp服务器端口修改,如何修改服务器ftp端口教程
  9. 图片放大-jQuery脚本使用异常:仅闪现图片外框
  10. win10系统DPC_WATCHDOG_VIOLATION蓝屏靠谱解决办法
  11. strassen矩阵乘法 java_矩阵乘法Strassen算法
  12. NAMD跑分子动力学模拟出现的一些问题(更新中)
  13. FL Studio 教程之显示按钮简介
  14. UVM基础-TLM通信机制(二)
  15. 奇虎360 2013校园招聘笔试题
  16. maven项目调转servlet 500异常
  17. Echarts3实例 map地图加载点数据
  18. 知识图谱偏重于信息还是计算机,基于知识图谱的计算机领域胜任力研究与应用...
  19. YOLO训练自己的数据集的一些心得
  20. Nexus安卓木马分析报告

热门文章

  1. 关于爬虫能做的事情,源自知乎刘飞,原嘟嘟美甲产品总监、原锤子科技产品经理...
  2. Keil MDK 工程输入中文汉字编译报错解决办法
  3. flex水平垂直居中
  4. Flutter 退出登录二次确认怎么做才更优雅?用 BlocListener 轻松实现
  5. python3+OpenCV批处理图片
  6. Conan建筑实现 —— 魔方工具
  7. 解压密码忘记了怎么办
  8. 店宝宝:拥抱变化,坦然应对职场中年危机
  9. 振幅型空间光调制器为什么会改变相位?
  10. PyTorch学习笔记(13)——强力的可视化工具visdom