`

Android基础教程之-----访Iphone 拖动相片特效Gallery的简单应用.

阅读更多

Step 1:准备图片素材.

icon2,icon3,icon4,icon5,icon6五张图片导入res/drawable里加上icon.png本身一共有6张图片.

Step 2:新建Android工程,命名为GalleryDemo.

Step 3:设计UI,修改main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/white"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/myTextView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:gravity="center_vertical|center_horizontal"
/>
<Gallery
android:id="@+id/myGallery1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
/>

</LinearLayout>

Step 4:设计主程序类GalleryDemo.java代码如下:

package com.android.test;

import com.android.test.R.drawable;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

public class GalleryDemo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


((Gallery) findViewById(R.id.myGallery1)).setAdapter(new ImageAdapter(
this));

}

public class ImageAdapter extends BaseAdapter {
/* 类成员 myContext为Context父类 */
private Context myContext;

/* 使用res/drawable图片作为图片来源 */
private int[] myImageIds = { drawable.icon, drawable.icon2,
drawable.icon3, drawable.icon4, drawable.icon5, drawable.icon6};

/* 构造器只有一个参数,即要存储的Context */
public ImageAdapter(Context c) {
this.myContext = c;
}

/* 返回所有已定义的图片总数量 */
public int getCount() {
return this.myImageIds.length;
}

/* 利用getItem方法,取得目前容器中图像的数组ID */
public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

/* 取得目前欲显示的图像View,传入数组ID值使之读取与成像 */
public View getView(int position, View convertView, ViewGroup parent) {
/* 创建一个ImageView对象 */
ImageView i = new ImageView(this.myContext);

i.setImageResource(this.myImageIds[position]);
i.setScaleType(ImageView.ScaleType.FIT_XY);

/* 设置这个ImageView对象的宽高,单位为dip */
i.setLayoutParams(new Gallery.LayoutParams(120, 120));
return i;
}

/* 依据距离中央的位移量 利用getScale返回views的大小(0.0f to 1.0f) */
public float getScale(boolean focused, int offset) {
/* Formula: 1 / (2 ^ offset) */
return Math.max(0, 1.0f / (float) Math.pow(2, Math.abs(offset)));
}
}
}

Step 5:run it,效果如下图:

注明:该代码基本参照Android SDK开发范例代码大全.今天晚上就懒一回呵呵...

分享到:
评论

相关推荐

    android gallery画廊 如iPhone拖动相片特效

    "android gallery画廊 如iPhone拖动相片特效"是一个专为此目的设计的功能,它借鉴了iOS系统的照片滚动效果,实现了在Android平台上平滑且具有动态感的图片浏览体验。 首先,我们要了解Android中的`Gallery`组件。在...

    [使用iPhone.SDK开发.iPad.应用教程]

    [使用iPhone.SDK开发.iPad.应用教程].TLF-SOFT-Lynda.com.iPhone.SDK.Developing.iPad.Applications-QUASAR.iso

    iPhone开发基础教程&Objective-C.2.0程序设计

    在IT行业中,iOS应用开发是一项高需求的技能,而学习这一领域的基础往往从掌握Objective-C.2.0和iPhone开发开始。"iPhone开发基础教程&Objective-C.2.0程序设计"是为初学者量身定制的学习资源,旨在帮助他们踏入这个...

    Android编程仿Iphone拖动相片特效Gallery的简单应用示例

    总的来说,创建一个仿iPhone拖动相片特效的Android应用涉及以下步骤: 1. 准备图片资源。 2. 创建Android工程并设计布局。 3. 实现`BaseAdapter`子类,填充图片数据。 4. 在主活动中设置`Gallery`的适配器。 5. 可...

    最好的iPhone应用(第2版)--Best.iPhone.Apps.2nd.Edition

    ### 最好的iPhone应用(第2版):关键知识点解析 #### 一、书籍基本信息与作者简介 ...总之,《最好的iPhone应用(第2版)》不仅是对iPhone应用的一次全面梳理,更是每位iPhone用户不可或缺的参考书目之一。

    secoclient-android-ios-7.0.2.26.zip

    这款应用支持Android和iOS两大主流操作系统,确保用户无论在何种移动设备上都能享受到一致的安全体验。SecoClient 7.0.2.26是该软件的特定版本,通过这个版本,开发团队可能已经修复了前一版本中的已知问题,并可能...

    Axure组件iPhone、Android、雅虎、手绘各组件库.zip

    Android-Axure-Widgets Android.rplib iPhone-Axure-Widgets ipad.rplib iPhone-Bodies.rplib iPhone-Horizontal.rplib iPhone-UI.rplib Yahoo!自定义组件库 表格元素_Y!DSK.rplib 菜单和按钮_Y!DSK.rplib 操作系统...

    Android仿iphone-气泡短信-DEMO.zip

    "Android仿iphone-气泡短信-DEMO.zip" 这个标题表明这是一个针对Android平台的开发项目,其目标是模仿iPhone的气泡短信效果。气泡短信是iOS系统中一种常见的对话界面设计,以气泡的形式展示聊天内容,使用户在视觉上...

    iPhone开发书籍大全].Beginning.iPhone.SDK.Programming.with.Objective-C

    ### iPhone SDK Programming with Objective-C 知识点概览 #### 一、图书介绍与目标读者 - **书名**:《Beginning iPhone SDK Programming with Objective-C》 - **作者**:Wei-Meng Lee - **出版社**:Wrox - **...

    Android高级应用源码-Android中实现Iphone样式的AlertDialog.zip

    在Android开发中,为了提供与iOS相似的用户体验,开发者经常需要在Android应用中实现类似iPhone样式的对话框(AlertDialog)。这个“Android高级应用源码-Android中实现Iphone样式的AlertDialog.zip”压缩包包含了...

    UnitySetup-Android-2019.2.0a4.exe.zip

    UnitySetup-Android-2019.2.0.exe 非常难得的UnitySetup-Android-2019.2.0,用于开发安卓端3D游戏。由于被墙,国内无法在官方服务器下载,特意分享。 用于Unity3d 2019所有版本,包括64位和32位完美通过,特说明:...

    iPhone开发基础教程-PDF版

    《iPhone开发基础教程-PDF版》是一份专为初学者设计的全面指南,旨在帮助读者掌握iOS应用开发的基础知识和技能。本教程涵盖了从安装开发环境到创建第一个应用的全过程,深入浅出地讲解了iPhone应用程序开发的核心...

    HTML5小游戏【iphone桌面图标,仿iphone桌面】游戏源码分享下载 - games.zip

    --- games.zipHTML5小游戏【iphone桌面图标,仿iphone桌面】游戏源码分享下载 --- games.zipHTML5小游戏【iphone桌面图标,仿iphone桌面】游戏源码分享下载 --- games.zipHTML5小游戏【iphone桌面图标,仿iphone桌面...

    Wrox.Beginning.iPhone.SDK.Programming.with.Objective-C.Jan.2010.part1.rar

    Wrox.Beginning.iPhone.SDK.Programming.with.Objective-C.Jan.2010.part1.rar

    Wrox.Beginning.iPhone.SDK.Programming.with.Objective-C.Jan.2010.part2.rar

    Wrox.Beginning.iPhone.SDK.Programming.with.Objective-C.Jan.2010.part2.rar

    iPhone开发基础教程-PDF完整版 part 2

    这表明文件主要聚焦于iPhone应用程序开发的基础教程,且为系列教程的第二部分。虽然提供的具体内容非常有限,仅包含了文档来源及作者信息,但我们可以围绕这一主题进行深入探讨,提取出与iPhone开发相关的关键知识点...

    Wrox.iPhone.and.iPad.App.24-Hour.Trainer.2012

    《Wrox.iPhone.and.iPad.App.24-Hour.Trainer.2012》是一部专为iOS开发者设计的详细教程,旨在帮助读者在24小时内掌握开发iPhone和iPad应用程序的关键技能。这本书由一系列深入的章节组成,涵盖了从基础知识到高级...

    android listview仿iphone特效

    标题中的“android listview仿iphone特效”指的是在Android开发中,使用ListView组件实现类似iOS界面效果的一种技术。这种效果通常包括但不限于平滑滚动、动态高度调整、渐变背景等,目的是提升Android应用的用户...

    IOS应用源码——tototti-Sendai.iPhone-ver1.3-sample-4c1a743.rar

    《iOS应用源码——Tototti-Sendai iPhone Ver1.3 Sample》 这份名为"Tototti-Sendai.iPhone-ver1.3-sample-4c1a743.rar"的压缩包,是针对iOS平台的一个应用程序的源码,版本号为1.3,基于Apple的iOS操作系统进行...

Global site tag (gtag.js) - Google Analytics