你曾经被iphone用手指在屏幕划来花去拖动相片吸引吗?在Android同样能够实现,而且不是什么难事。

这里需要用到android.content.Context;android.widget.BaseAdapter;android.wiget.ImageView;等。

android.content.Context在Activity中类似于一张Canvas画布,能够随时处理或覆盖它。Context与Intent一样是android.content的子类。

本实例通过在layout中放置Gallery对象,然后通过android.widget.BaseAdapter容器放置Gallery所需要的图片,本案例使用系统默认的ICON图片。

1.如图,拖拽Gallery控件到layout中,ID设置为myGallery1


查看res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >    <Gallery android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:id="@+id/myGallery1"></Gallery></LinearLayout>

src/EX03_15.java

package gphone.ex03_15;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 EX03_15 extends Activity {private Gallery myGallery1=null;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                myGallery1=(Gallery)findViewById(R.id.myGallery1);        myGallery1.setAdapter(new ImageAdapter(this));    }    public class ImageAdapter extends BaseAdapter{    private Context myContext;    //使用android.R.drawable里系统默认图片作为图片源    private int[] myImageIds={    android.R.drawable.btn_minus,    android.R.drawable.btn_radio,    android.R.drawable.ic_lock_idle_low_battery,    android.R.drawable.ic_menu_camera,    android.R.drawable.btn_minus,    android.R.drawable.btn_radio,    android.R.drawable.ic_lock_idle_low_battery,    android.R.drawable.ic_menu_camera,android.R.drawable.btn_minus,    android.R.drawable.btn_radio,    android.R.drawable.ic_lock_idle_low_battery,    android.R.drawable.ic_menu_camera    };    public ImageAdapter(Context c){    this.myContext=c;    }        @Override    public int getCount() {    // TODO Auto-generated method stub    return this.myImageIds.length;    }    @Override    public Object getItem(int position) {    // TODO Auto-generated method stub    return position;    }    @Override    public long getItemId(int position) {    // TODO Auto-generated method stub    return position;    }    @Override    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-1.0f)    public float getScale(boolean focused,int offset){    return Math.max(0,1.0f/(float)Math.pow(2,Math.abs(offset)));    }        }}

运行效果

更多相关文章

  1. 浅谈android的selector,背景选择器
  2. Android上传图片到服务器,android-async-http上传图片到服务器
  3. 介绍两个Android开源项目:Android显示GIF动画
  4. Android(安卓)Activity之间传递图片(Bitmap)的方法
  5. Android中WebView获取网页中标题 ,内容, 图片的方法
  6. android异步更新UI
  7. Android根据屏幕宽度缩放图片
  8. Tabhost
  9. Android中WebView获取网页中标题 ,内容, 图片的方法

随机推荐

  1. Android(安卓)将activity设置成对话框样
  2. Android调用相机和相册详解
  3. android有用的知识
  4. Android(安卓)ListView嵌套Button,Button
  5. android获取路径
  6. 如何制作Jar包并在android中调用jar包
  7. android 获取手机信息(device ip,os versio
  8. 为Android内核添加新驱动,并添加到menucon
  9. Ionic新建项目(以Android为例)
  10. Android布局优化