`
isiqi
  • 浏览: 16498098 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

2010.06.05日志:Android Gallery左右循环旋转方法

阅读更多

如图:

2

先在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:      }
分享到:
评论

相关推荐

    org.eclipse.paho.android.service-1.1.1.jar

    android的开发移动端MQTT服务器所需要的依赖包文件。这个是paho的1.1.1版本的,可下载到本地使用。

    程序员表白程序 源码开放性 第一辑 不断更新(程序之爱系列第一辑)

    【程序员表白程序 源码开放性 第一辑 不断更新(程序之爱系列第一辑)】 这个项目是一个程序员为了表达爱意而创作的独特程序,它不仅展现了编程技术的运用,还融合了情感的传递。程序员们常常以其独特的思维方式和...

    Android N 7.0中报错:android.os.FileUriExposedException的解决方法

    安装Apk时报错:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-2.3.0.apk exposed beyond app through Intent.getData(),通过查找相关的资料终于找到了解决的方法,下面分享给...

    Android_SDK.zip

    Android SDK(软件开发工具包)是开发者用来构建、调试和发布Android应用的必备工具集。这个压缩包"Android_SDK.zip"包含了SDK的核心组件,使得开发者能够在各种设备上创建功能丰富的Android应用程序。下面是关于...

    iperf_android.apk.zip

    在本文中,我们将深入探讨iPerf的基本功能、工作原理、使用方法,特别是针对Android系统的iperf3版本。 一、iPerf概述 iPerf最初是由Steve Lewis在2000年开发的,主要服务于Linux系统。随着时间的推移,它已经发展...

    org.eclipse.paho.android.service-1.1.0.jar

    android的开发移动端MQTT服务器所需要的依赖包文件。可下载到本地使用。

    Android Studio Bumblebee (android-studio-2021.1.1.22-windows)

    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 ...

    gradle-7.2-bin.zip

    4. **插件系统**:Gradle 具有丰富的插件生态,可以轻松扩展功能,如Android插件、Java插件等。 5. **缓存机制**:通过缓存已构建的工件,减少不必要的重复工作。 二、Gradle 7.2 的新特性与改进 1. **性能优化**...

    Android高级编程.part2.rar

    第1版 (2010年6月1日) 外文书名: Professional Android Application Development 共四个分卷压缩,请全部下载完成,解压即可: Android高级编程.part1.rar http://download.csdn.net/source/3498403 Android高级...

    Android FastJSON小示例

    在Android开发中,数据交换和序列化是常见的需求,FastJSON是阿里巴巴提供的一款高效、功能丰富的JSON库,它被广泛应用于Android Studio项目中。本文将详细介绍如何在Android Studio中使用FastJSON进行JSON解析和...

    完美解决Jave在linux下转为MP3时为0字节或其他异常

    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/

    jmxtools jmxri-1.2.1.jar

    maven编译时报找不到这两个jar文件,发现已经无法从网站下载了,所以自己在网上找到这两个文件下载,分真贵呀,所以现在便宜分享,2个文件只要一分 ...of type legacy using the available factories ...

    android-support-multidex1.0.1下载

    在Android开发中,由于Dalvik虚拟机和早期的ART运行时环境对单个Dex文件的方法数限制,每个应用最多只能包含65536(64K)个方法引用,这被称为Dex的65K方法限制。当应用程序变得足够大,包含了大量的第三方库,很...

    AndroidBLE.rar

    在Android平台上,Bluetooth Low Energy(BLE)是一种广泛用于低功耗设备通信的技术,它特别适合于传感器、可穿戴设备和物联网(IoT)应用。"AndroidBLE.rar"这个压缩包文件很可能包含了一个完整的示例项目,帮助...

    virus.win32.parite.H病毒专杀工具及其查杀方法

    【标题】"virus.win32.parite.H病毒专杀工具及其查杀方法"涉及到的是一个针对特定病毒的防治策略,这里的"virus.win32.parite.H"是一种Windows平台上的恶意软件,属于Parite病毒家族。Parite病毒通常通过电子邮件、...

    android canvas 3D旋转木马 图片立体展示

    在Android开发中,Canvas是用于在屏幕上绘制2D图形的核心组件。然而,通过巧妙地运用Canvas和一些数学原理,我们也可以实现3D效果,比如3D旋转木马式的图片展示。这种效果通常用于创建引人入胜的用户界面,使应用...

    msinttypes-r26.zip;无法打开包括文件:“stdint.h”

    fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory stdint.h是c99标准的头文件,vc不支持,所以肯定会提示“No such file or directory”的。...通过以上方法,成功解决编译错误。

    Android 可编辑贴纸View.rar

    这个"Android 可编辑贴纸View.rar"压缩包提供了一个实现此类功能的示例源码,它允许用户对贴纸进行文字编辑、拖动、缩放和旋转操作,并且还特别支持GIF格式的贴纸。 首先,我们来详细解释这个项目的核心知识点: 1...

    eplan自带部件库ESS_part001.mdb

    熟练掌握部件库的导入、导出、编辑和分类方法,可以更好地适应各种电气设计挑战。此外,Eplan还提供了强大的搜索功能,通过关键词、属性等条件,可以迅速找到所需的部件,使得设计过程更为顺畅。

    tinypinyin-2.0.3.jar

    汉字转换拼音的工具包,Pinyin.toPinyin('') 1、生成的拼音不包含声调和方言,均为大写; 2、支持自定义词典; 3、执行效率很高(Pinyin4J 的 4~16 倍); 4、很低的内存占用(不添加词典时小于 30KB)

Global site tag (gtag.js) - Google Analytics