最近项目不是很忙,就研究点平时没有接接触过的控件,直接上代码,效果图附件,界面有点丑
/** * 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>
相关推荐
在"Android入门第十二篇之Gallery"这篇文档中,我们将探讨如何使用Gallery控件,并通过反射机制动态加载资源中的图片。 首先,我们来看一下`main.xml`布局文件。这个XML文件定义了一个垂直布局的LinearLayout,其中...
在Android开发领域,新手入门的过程中,经常会接触到各种UI组件的学习,其中之一就是`Gallery`。`Gallery`是Android SDK提供的一种可以水平滚动展示多个项目的控件,常用于图片浏览或者选项选择。在2016年的Android...
在Android开发中,`Gallery`控件和`ImageSwitcher`是两个非常有用的组件,尤其在创建图片轮播或相册应用时。本篇文章将详细解释如何将它们结合起来使用,以实现一个简单的图片浏览功能。 `Gallery`是Android提供的...
在Android开发中,`Gallery`和`ImageSwitcher`是两个非常实用的UI组件,用于创建滑动浏览图片的应用场景。本教程将介绍如何将这两个控件结合起来,以实现一个简单但功能完整的图片浏览器。 首先,`Gallery`控件是一...
只需按照向导的提示,就能完成基本的设置工作,如数据库连接、权限设定等,大大降低了入门门槛。同时,Gallery还支持自动创建缩略图功能,这不仅减少了手动操作的工作量,也提高了网页加载速度,使得浏览体验更为...
本文将深入解析如何在Android入门项目中结合使用这两个控件,为Android初学者提供有价值的参考。 首先,`Gallery`是一个水平滚动的视图容器,它可以展示一系列的子视图,并允许用户通过左右滑动来切换不同的子视图...
在Android开发中,Gallery控件是一个非常实用的组件,它主要用于展示一系列的图像,用户可以通过左右滑动来浏览。在本实例中,我们将深入探讨如何使用Gallery并结合反射机制动态加载资源中的图片。 首先,我们需要...
Graphviz的安装非常简单,只需要访问官方网站http://www.graphviz.org/Gallery.php,选择与您电脑操作系统相符合的版本,并下载安装。对于Windows用户,可以下载msi文件,并按照提示安装完成后,在环境变量中添加...
- 在SharePoint环境中,PowerPivot工作簿可以发布到Power Pivot Gallery,便于团队成员查看和交互。 - 通过PowerPivot for SharePoint,用户可以创建和维护数据模型,同时支持权限管理和版本控制。 6. **性能优化...
这个系统具备基本的艺术品信息管理、添加、列表展示以及交易处理等功能,对于初学者来说,它是一个理想的入门教程,可以帮助新手快速理解和掌握软件开发的基本流程。 首先,我们要理解"art_gallery"这个标签所代表...
本教程将从Android的系统架构入手,逐步介绍环境搭建、基础布局、数据传递等新手入门必须掌握的知识点。 首先,了解Android的系统架构是入门的第一步。Android系统架构可分成四层,从上至下依次是应用程序层、应用...
46、Gallery3d效果 47、ListView 上拉加载更多效果 48、异步加载图片的二级缓存技术 49、QQ的好友列表展示效果 50、Fragment + ViewPager实现tab滑动切换 51、能够显示在桌面前面的的歌词效果 52、activity切换...
在Android开发中,`Gallery`控件是一个非常有用的组件,用于展示一系列的图片或其他视图,通常用于创建相册或轮播效果。本文将引导你了解如何使用`Gallery`控件以及与其相关的`Adapter`适配器,同时会介绍如何实现...
Saber仿真软件入门教程概述 Saber仿真软件是一款功能强大电子电路仿真软件,对电子电路和开关电源开发的朋友非常有帮助。这款软件提供了一个完整的设计和仿真环境,能够帮助用户快速设计和仿真电子电路。 知识点1:...
【第五章Android的Gallery】章节则涉及了Gallery组件,这是一个可以左右滑动浏览图片或项目的控件。虽然在最新的Android版本中已被替换为其他组件,但理解其工作原理对理解Android的滚动视图仍然有帮助。 进入数据...
React灵敏延迟加载无限滚动完全可定制支持图像,视频和HTML入门最好的入门方法是使用 。 使用边栏配置所需的画廊布局。 完成后,单击“ Generate Gallery Code按钮以获取可复制粘贴的代码。 之后,您需要做的就是...