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

Android利用gallery实现图片连动的效果

2012-04-29 21:21 656 查看
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{
public Context context;
public static ImageView imageview ;
public ImageAdapter(Context context) {
this.context = context;
}

public int imageInteger[] = {
R.drawable.image1, R.drawable.image2, R.drawable.image3,
R.drawable.image4, R.drawable.image5};
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
imageview = new ImageView(context);
}
else{
//对view对象优化,覆用缓存的view对象
imageview = (ImageView) convertView;
}
int i = position%(imageInteger.length);
imageview.setImageResource(imageInteger[i]);
imageview.setLayoutParams(new Gallery.LayoutParams(320, 130));
return imageview;
}
}

//利用定时器实现图片的联动

public class MainActivity extends Activity {
public static ImageView imageView ;
private Timer timer;
private ImageAdapter adapter;
private Gallery gallery;
private ImageView imgPoint;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home_activity);
imgPoint = (ImageView) this.findViewById(R.id.imgPoint);
imgPoint.setBackgroundResource(R.drawable.slide_adv_selected);
gallery =  (Gallery) this.findViewById(R.id.gallery);
adapter = new ImageAdapter(this);
gallery.setAdapter(adapter);
gallery.setSpacing(1);
//线程控制部分
TimerTask task = new TimerTask() {
@Override
public void run() {
gallery.onFling(null, null, -750, 0);
}
};
timer = new Timer();
timer.schedule(task, 3000, 3000);
}
@Override
protected void onDestroy() {
timer.cancel();
super.onDestroy();
}
}
//home_activity.xml文件代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:orientation="vertical" >
<Gallery
android:id="@+id/gallery"
android:layout_width="320dip"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" />
</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: