Android 中怎么利用ImageSwitcher实现图片切换效果,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
package com.kiritor.ui_imageswitcher;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
/*注意,此处直接让该类实现ViewFactory和OnClickListener接口*/
public class MainActivity extends Activity implements ViewFactory, OnClickListener {
/*获取图片资源集*/
private static final Integer[] images = {
R.drawable.first,
R.drawable.second,
R.drawable.third,
};
private ImageSwitcher is;
private Button btnPrev,btnNext;
private static int index = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*通过ID获取控件*/
is = (ImageSwitcher) findViewById(R.id.image_switchter);
btnPrev = (Button) findViewById(R.id.pre);
btnNext = (Button) findViewById(R.id.next);
is.setFactory(this);//设置ImageSwitcher所需的ViewFactory
is.setImageResource(images[index]);//设置初始的图片资源
/*由于本类实现了OnClickListen而接口,所以这里参数可以直接用this*/
btnPrev.setOnClickListener(this);
btnNext.setOnClickListener(this);
}
/*因为实现了接口,需要实现接口中未实现的方法*/
public void onClick(View v) {
switch(v.getId()){
case R.id.next:
index++;
if(index>=images.length){
index = 0;
}
is.setImageResource(images[index]);
break;
case R.id.pre:
index--;
if(index<0){
index = images.length - 1;
}
is.setImageResource(images[index]);
break;
default:
break;
}
}
/**
* 该方法返回一个View的实例
* 这个实例就是要在ImageSwitcher中所显示的
* 此处就用ImageView来显示内容
* 所以直接返回一个新的ImageView的实例
*/
public View makeView() {
return new ImageView(this);
}
}
看完上述内容,你们掌握Android 中怎么利用ImageSwitcher实现图片切换效果的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。