如图:
先在attr.xml里写个Gallery的样式
1: <?xml version="1.0" encoding="utf-8"?>
2: <resources>
3: <declare-styleable name="Gallery">
4: <attr name="android:galleryItemBackground" />
5: </declare-styleable>
6: <!-- 定义Layout外部resources 的xml文件,用来改变Layout的背景图 -->
7: </resources>
8:
然后在mainActivity里的OnCreate里:
1: setContentView(R.layout.main);
2:
3: imageAdapter = new myImageAdapter(this);
4:
5: gallery = (Gallery) findViewById(R.id.Gallery_preView);
6: imageView = (ImageView) findViewById(R.id.ImageView_photo);
7:
8: gallery.setAdapter(imageAdapter);
9: gallery.setSelection(200);//设置Gallery的起始位置
下面是imageAdapter的类,它继承BaseAdapter
图片资源:
1: protected int[] myImageIds = { R.drawable.vista_1, R.drawable.vista_2,
2: R.drawable.vista_3, R.drawable.vista_4, R.drawable.vista_5,
3: R.drawable.vista_6, };
构造里:
1: public myImageAdapter(Context context) {
2: mContext = context;
3: /* 使用res/values/attr.xml中的<declare-styleable>定义的Gallery属性 */
4: TypedArray typed_array = context
5: .obtainStyledAttributes(R.styleable.Gallery);
6: mGalleryItemBackground = typed_array.getResourceId(
7: R.styleable.Gallery_android_galleryItemBackground, 0);
8: /* 让对象的styleable 属性能够反复使用 */
9: typed_array.recycle();
10: }
11:
getCount()方法:
1: @Override
2: public int getCount() {
3: // TODO Auto-generated method stub
4: // return myImageIds.length;
5: return Integer.MAX_VALUE;
6: }
getView()方法:
1: @Override
2: public View getView(int position, View convertView, ViewGroup parent) {
3: ImageView i = new ImageView(mContext);
4:
5: if (position < 0) {
6: position = position + myImageIds.length;
7: }
8: i.setImageResource(myImageIds[position % myImageIds.length]);
9: i.setScaleType(ImageView.ScaleType.FIT_XY);
10: i.setLayoutParams(new Gallery.LayoutParams(128, 128));
11: i.setBackgroundResource(mGalleryItemBackground);
12: return i;
13: }
分享到:
相关推荐
android的开发移动端MQTT服务器所需要的依赖包文件。这个是paho的1.1.1版本的,可下载到本地使用。
fastjson-1.1.70.android.jar,安卓专用fastjson解析jar包
【程序员表白程序 源码开放性 第一辑 不断更新(程序之爱系列第一辑)】 这个项目是一个程序员为了表达爱意而创作的独特程序,它不仅展现了编程技术的运用,还融合了情感的传递。程序员们常常以其独特的思维方式和...
安装Apk时报错:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-2.3.0.apk exposed beyond app through Intent.getData(),通过查找相关的资料终于找到了解决的方法,下面分享给...
Android SDK(软件开发工具包)是开发者用来构建、调试和发布Android应用的必备工具集。这个压缩包"Android_SDK.zip"包含了SDK的核心组件,使得开发者能够在各种设备上创建功能丰富的Android应用程序。下面是关于...
在本文中,我们将深入探讨iPerf的基本功能、工作原理、使用方法,特别是针对Android系统的iperf3版本。 一、iPerf概述 iPerf最初是由Steve Lewis在2000年开发的,主要服务于Linux系统。随着时间的推移,它已经发展...
android的开发移动端MQTT服务器所需要的依赖包文件。可下载到本地使用。
studio-2021.1.1.22-windows.exe)大黄蜂,适用于Windows x86_64系统,是Android Studio 4.3(Android Studio Arctic Fox 2020.3.1.26新版本命名)版本之后的新版本Android Studio Bumblebee 可以理解为:Android ...
4. **插件系统**:Gradle 具有丰富的插件生态,可以轻松扩展功能,如Android插件、Java插件等。 5. **缓存机制**:通过缓存已构建的工件,减少不必要的重复工作。 二、Gradle 7.2 的新特性与改进 1. **性能优化**...
第1版 (2010年6月1日) 外文书名: Professional Android Application Development 共四个分卷压缩,请全部下载完成,解压即可: Android高级编程.part1.rar http://download.csdn.net/source/3498403 Android高级...
在Android开发中,数据交换和序列化是常见的需求,FastJSON是阿里巴巴提供的一款高效、功能丰富的JSON库,它被广泛应用于Android Studio项目中。本文将详细介绍如何在Android Studio中使用FastJSON进行JSON解析和...
3、林杰博客说明:http://linjie.org/2015/08/06/amr%E6%A0%BC%E5%BC%8F%E8%BD%ACmp3%E6%A0%BC%E5%BC%8F-%E5%AE%8C%E7%BE%8E%E8%A7%A3%E5%86%B3Linux%E4%B8%8B%E8%BD%AC%E6%8D%A20K%E9%97%AE%E9%A2%98/
2.定义 LinearLayout 水平方向布局时至少设置的三个属性:android:layout_width、android:layout_height 和 android:orientation。 3.为了使 android 适应不同分辨率机型,布局时,可以使用相对布局或使用不同的...
maven编译时报找不到这两个jar文件,发现已经无法从网站下载了,所以自己在网上找到这两个文件下载,分真贵呀,所以现在便宜分享,2个文件只要一分 ...of type legacy using the available factories ...
在Android平台上,Bluetooth Low Energy(BLE)是一种广泛用于低功耗设备通信的技术,它特别适合于传感器、可穿戴设备和物联网(IoT)应用。"AndroidBLE.rar"这个压缩包文件很可能包含了一个完整的示例项目,帮助...
Android Studio Electric Eel | 2022.1.1 对应 Android Gradle 插件3.2-7.4版本 Android Gradle 插件和 Android Studio 【详情对应版本】 Android Studio 版本 所需插件版本 Giraffe 2022.3.1 3.2-8.1 Flamingo ...
【标题】"virus.win32.parite.H病毒专杀工具及其查杀方法"涉及到的是一个针对特定病毒的防治策略,这里的"virus.win32.parite.H"是一种Windows平台上的恶意软件,属于Parite病毒家族。Parite病毒通常通过电子邮件、...
在这个"Android客户端socket.io官方Demo完整可运行版"中,你将找到一个已经调试完毕、可以直接运行的示例项目,这对于初学者或者希望深入理解Socket.IO在Android中如何工作的开发者来说是极有价值的资源。...
在Android开发中,Canvas是用于在屏幕上绘制2D图形的核心组件。然而,通过巧妙地运用Canvas和一些数学原理,我们也可以实现3D效果,比如3D旋转木马式的图片展示。这种效果通常用于创建引人入胜的用户界面,使应用...
fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory stdint.h是c99标准的头文件,vc不支持,所以肯定会提示“No such file or directory”的。...通过以上方法,成功解决编译错误。