`

防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编程仿Iphone拖动相片特效Gallery的简单应用示例

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

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

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

    JQuery&CSS;&CSS;+DIV实例大全.rar

    2.jQuery层拖拽插件之jquery仿QQ空间的模块拖动功能插件下载 3.jQuery动感图标切换网页Tab选项卡导航代码 4.jquery封装Tab标签选项卡,内含动画版选项卡及滑动门 5.jQuery实现flash动感切换选项卡TAB插件示例 ...

    Google.Android.SDK开发范例大全

     3.15 如iPhone拖动相片特效——Gallery画廊   3.16 自制计算器——多按钮的整合应用   3.17 关于(About)程序信息——Menu功能菜单程序设计   3.18 程序加载中,请稍后——ProgressDialog与线程整合...

    Google Android SDK开发范例大全 源码

     3.15 如iPhone拖动相片特效——Gallery画廊   3.16 自制计算器——多按钮的整合应用   3.17 关于(About)程序信息——Menu功能菜单程序设计   3.18 程序加载中,请稍后——ProgressDialog与线程整合...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以...

    Google Android SDK开发范例大全的目录

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮...

    Google Android sdk 开发范例大全 部分章节代码

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮...

    Google Android SDK 开发范例大全01

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮...

    Google Android SDK 开发范例大全02

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮...

    Google+Android+SDK开发范例大全

    3.13 置换文字颜色的机关——Button与TextView的交互 3.14 控制不同的文字字体——Typeface对象使用 3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——...

    Google Android SDK开发范例大全(完整版)

    3.15 如iPhone拖动相片特效——Gallery画廊 3.16 自制计算器——多按钮的整合应用 3.17 关于(About)程序信息——Menu功能菜单程序设计 3.18 程序加载中,请稍后——ProgressDialog与线程整合应用 3.19 全屏幕以按钮...

    Google Android SDK开发范例大全.docx

    - **3.15 如iPhone拖动相片特效——Gallery画廊** 讨论了如何实现类似于iOS中相册应用的效果,即通过滑动查看图片。 - **3.16 自制计算器——多按钮的整合应用** 通过创建一个简单的计算器应用,演示了如何整合...

    google android sdk开发范例大全 第二版 PDF 光盘代码

     3.15 如iPhone拖动相片特效   3.16 自制计算器   3.17 关于(About)程序信息   3.18 程序加载中,请稍候   3.19 全屏幕以按钮重写   3.20 今晚到哪儿打牙祭   3.21 Android变脸   3.22...

Global site tag (gtag.js) - Google Analytics