您的位置:首页 > 移动开发 > Android开发

Android学习总结(二)---拖动效果(Gallery)

2011-08-02 10:52 330 查看
实现这一效果需要一个容器来存放Gallery显示的图片。这里使用一个继承自BaseAdaper类的派生类来装这些图片。监听事件OnItemClickListener 确定用户选择了哪一张图片。首先需要将显示的图片的索引存放在一个int型的数组中,然后通过setImageResource方法来设置ImageVIew要显示的图片资源。如图:



ImageAdapter.java

package cn.zhuaidong;

import android.R.integer;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

public class ImageAdapter extends BaseAdapter{

private Context context;
private Integer[] imageids={
R.drawable.m1,
R.drawable.m2,
R.drawable.m3,
R.drawable.m4,
R.drawable.m5,
R.drawable.m6,
R.drawable.m7
};
public ImageAdapter(Context c) {
context=c;
}

public int getCount() {
// TODO Auto-generated method stub
return imageids.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=new ImageView(context);
imageView.setImageResource(imageids[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(120, 120));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageView;
}

}


zdActivity.java

package cn.zhuaidong;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Gallery;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class zdActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Gallery g=(Gallery) findViewById(R.id.gallery01);
g.setAdapter(new ImageAdapter(this));
//g.setBackgroundResource(R.drawable.btg);
g.setBackgroundColor(Color.BLUE);
g.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Toast.makeText(zdActivity.this,"你选择了"+(arg2+1)+"号图片", 5).show();

}
});
}
}


main.xml

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


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐