android开发:拖动相片特效

 

package irdc.ex03_15;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;

/*欲在Layout里使用Gallery widget,必须引用这些模块*/
import android.content.Context;
import android.widget.Gallery;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

public class EX03_15 extends Activity
{
  private TextView mTextView01;
 
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
   
    mTextView01 = (TextView) findViewById(R.id.myTextView01);
    mTextView01.setText(getString(R.string.str_txt1));
    mTextView01.setTextColor(Color.BLUE);
   
    ((Gallery) findViewById(R.id.myGallery1))
               .setAdapter(new ImageAdapter(this));

  }
 
  public class ImageAdapter extends BaseAdapter
  {
    /* 类成员myContext为Context父类 */
    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
                  };
    /* 构造器只有一个参数,即要存储的ContextContext */
    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)));
     }
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值