Android ImageSwithcher的使用

本文介绍了一个使用ImageSwitcher实现图片切换功能的Android应用案例。通过定义一个包含多个图片资源的数组,并利用按钮控制前后图片的切换,展示了如何在Android应用中实现简单的图片轮播效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图片切换ImageSwitcher的使用:


package com.Aina.Android;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ViewSwitcher.ViewFactory;

public class Test_ImageSwitcher extends Activity implements OnClickListener,ViewFactory{
/** Called when the activity is first created. */
//所有要显示的图片资源索引
private static final Integer[] imagelist = {
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4,
R.drawable.img5,
R.drawable.img6,
R.drawable.img7,
R.drawable.img8
};
private ImageSwitcher imageswitcher;
private static int index = 0;
//设置各组件ID
private static final int Button_NEXT = 0x123456;
private static final int Button_BACK = 0x123457;
private static final int ImageSwitcher = 0x123458;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//创建一个线性布局
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.HORIZONTAL);//水平布局
imageswitcher = new ImageSwitcher(this);
LinearLayout.LayoutParams p2 = new LinearLayout.LayoutParams(120,120);
layout.addView(imageswitcher,p2);
imageswitcher.setId(ImageSwitcher);//设置ID
imageswitcher.setFactory(this);//设置此对象的数据源
imageswitcher.setImageResource(imagelist[index]);
setContentView(layout);

//创建下一张按钮
Button next = new Button(this);
next.setId(Button_NEXT);
next.setText("下一张");
next.setOnClickListener(this);
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(100,100);
layout.addView(next, p);
//创建上一张按钮
Button back = new Button(this);
back.setId(Button_BACK);
back.setText("上一张");
back.setOnClickListener(this);
layout.addView(back, p);
}
@Override
public void onClick(View v) {
if(v.getId()==Button_BACK){
index--;
if(index<0){
index = imagelist.length-1;
}
imageswitcher.setImageResource(imagelist[index]);
}else if(v.getId()==Button_NEXT){
index++;
if(index>=imagelist.length){
index = 0;
}
imageswitcher.setImageResource(imagelist[index]);
}
}
@Override
public View makeView() {
Log.i("TAG", "makeView()");
return new ImageView(this);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值