Android(安卓)图片切换,ImageSwitcher 学习
16lz
2021-01-25
下面一个简单例子 学习 ImageSwitcher 类,
这个类 可以 切换显示图片 , 就像windows中的 自带的图片浏览器一样. 也可以制作简单的幻灯片。
- packagecom.birds.andorid.image;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.view.View;
- importandroid.view.Window;
- importandroid.view.View.OnClickListener;
- importandroid.view.animation.AnimationUtils;
- importandroid.widget.Button;
- importandroid.widget.ImageSwitcher;
- importandroid.widget.ImageView;
- importandroid.widget.RelativeLayout;
- importandroid.widget.ViewSwitcher;
- /**
- *
- *@authorbirds
- *@date2008-11-30
- */
- publicclassImageShowextendsActivityimplementsOnClickListener,
- ViewSwitcher.ViewFactory{
- privateImageSwitcherswitcher;
- privatestaticfinalintNEXT_BUTTON=0x345255;
- privatestaticfinalintPRE_BUTTON=0x345256;
- privatestaticfinalintSWITCHER=0x9394;
- privatestaticfinalInteger[]IMAGE_LIST={R.drawable.image001,
- R.drawable.image002,R.drawable.java_image};
- privatestaticintindex=0;
- privatestaticfinalintLEN=IMAGE_LIST.length;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- RelativeLayoutmain_view=newRelativeLayout(this);
- switcher=newImageSwitcher(this);
- main_view.addView(switcher);
- switcher.setId(SWITCHER);
- switcher.setFactory(this);
- switcher.setImageResource(IMAGE_LIST[index]);
- setContentView(main_view);
- Buttonnext=newButton(this);
- next.setId(NEXT_BUTTON);
- next.setText("下一张");
- next.setOnClickListener(this);
- RelativeLayout.LayoutParamsparam=newRelativeLayout.LayoutParams(80,
- 80);
- param.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,SWITCHER);
- main_view.addView(next,param);
- param=newRelativeLayout.LayoutParams(80,80);
- Buttonpre=newButton(this);
- pre.setText("前一张");
- pre.setId(PRE_BUTTON);
- pre.setOnClickListener(this);
- param.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,NEXT_BUTTON);
- main_view.addView(pre,param);
- }
- @Override
- publicvoidonClick(Viewv){
- switch(v.getId()){
- caseNEXT_BUTTON:
- index++;
- if(index>=LEN){
- index=0;
- }
- switcher.setImageResource(IMAGE_LIST[index]);
- break;
- casePRE_BUTTON:
- index--;
- if(index<0){
- index=LEN-1;
- }
- switcher.setImageResource(IMAGE_LIST[index]);
- break;
- default:
- break;
- }
- }
- @Override
- publicViewmakeView(){
- returnnewImageView(this);
- }
- }
这个ImageSwitcher 类 ,必须设置一个 视图工厂,这个主要是用来显示 图片的地方,,和父窗口独立的,
实例化 ViewSwitcher.ViewFactory 接口,,
有一个 makeView()方法 就是用来 显示图片的 view ,
这里就简单的 返回了 默认的 new ImageVIew(this) 。
switcher.setImageResource(IMAGE_LIST[index]); 这个可以 显示指定的图片资源 。默认情况下是第一张图片。
当点击一下 按钮 ,就会切换到相应的图片。
官方的Android文档中,javadoc 并没有过多的对这个类 进行解释 。也许不太常用。。
下面是显示效果.
更多相关文章
- android 拍照或从相册获取图片 返回 bitmap
- Android(安卓)WebView如何加载assets下的html文件
- Android中banner的使用步骤
- android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpC
- 【Android(安卓)界面效果49】RecyclerView高度随Item自适应
- Android(安卓)Logcat 报错:Could not create the view: For input
- android显示png图片,原来透明的地方都变成黑色的了
- Android(安卓)图片文件夹区别
- 在Android上使用ZXing识别条码 二次开发笔记 (2)