activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" > <ImageSwitcher
android:id="@+id/myImageSwitcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<Button
android:id="@+id/Btn_last"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="false"
android:text="上一张图片" />
<Button
android:id="@+id/Btn_next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:enabled="true"
android:text="下一张图片" />
</LinearLayout>
</LinearLayout>

MainActivity.java

public class MainActivity extends Activity {
private Button btnLast=null;
private Button btnNext=null;
private ImageSwitcher myImageSwitcher=null;
private int[] imgRes=new int[] {
R.drawable.png_01,
R.drawable.png_02,
R.drawable.png_03,
R.drawable.png_04,
R.drawable.png_05,
R.drawable.png_06,
R.drawable.png_07,
R.drawable.png_08
}; //定义资源文件数组
private int foot=0; //表示当前图片的标记
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.myImageSwitcher=(ImageSwitcher)super.findViewById(R.id.myImageSwitcher);
this.btnLast=(Button)super.findViewById(R.id.Btn_last);
this.btnNext=(Button)super.findViewById(R.id.Btn_next);
this.btnLast.setOnClickListener(new OnClickListenerImpl());
this.btnNext.setOnClickListener(new OnClickListenerImpl());
this.myImageSwitcher.setFactory(new ViewFactoryImpl());
this.myImageSwitcher.setImageResource(imgRes[this.foot++]);
this.myImageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in)); //设置图片切换效果
this.myImageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out)); //设置图片切换效果
} private class OnClickListenerImpl implements OnClickListener{ @Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.Btn_last:
MainActivity.this.myImageSwitcher.setImageResource(MainActivity.this.imgRes[MainActivity.this.foot--]);
checkBtnEnable();
break;
case R.id.Btn_next:
MainActivity.this.myImageSwitcher.setImageResource(MainActivity.this.imgRes[MainActivity.this.foot++]);
checkBtnEnable();
break;
default:
break;
}
} } //按钮检测
private void checkBtnEnable(){
if(this.foot<this.imgRes.length-1){ //检查是否为最后一张图片
this.btnNext.setEnabled(true);
}else{
this.btnNext.setEnabled(false);
}
if(this.foot==0){ //检查是否为第一张图片
this.btnLast.setEnabled(false);
}else{
this.btnLast.setEnabled(true);
}
} //工厂
private class ViewFactoryImpl implements ViewFactory{ @Override
public View makeView() {
ImageView img=new ImageView(MainActivity.this);
img.setBackgroundColor(0xFFFFFFFF);//设置背景色
img.setScaleType(ImageView.ScaleType.CENTER);//居中
img.setLayoutParams(
new ImageSwitcher.LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT
)); //定义组件的显示
return img; //反回img
} }

Android学习笔记 ImageSwitcher图片切换组件的使用的更多相关文章

  1. Android学习笔记 TextSwitcher文本切换组件的使用

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  2. 从零開始学android&lt;ImageSwitcher图片切换组件.二十六.&gt;

    ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候.能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够 ...

  3. Android学习笔记之图片轮播...

    PS:一个bug又折腾了一个下午....哎... 学习内容: 1.Android利用ViewPager和PagerAdapter实现图片轮播... 2.使用反射机制获取Android的资源信息... ...

  4. Android学习笔记:使用ViewPager组件实现图片切换

    在很多App中,尤其是第一次安装启动后,都会出现几个图片进行一些app的介绍和说明,图片可以随着滑动而切换. 我们这里利用 ViewPager组件来演示如何实现这一点. 1.创建一个app工程,默认创 ...

  5. [Android学习笔记4]四大应用组件之一:Service 上

    一.什么是Service 一个Service就是一个能够在后台执行长时操作的应用程序组件,并且不提供用户界面.一个应用程序组件能够启动一个Service,即使用户切换到另一个应用程序,这个Servic ...

  6. Android学习笔记五:四大组件(转)

    转自:http://blog.csdn.net/shenggaofei/article/details/52450668 Android四大组件分别为activity.service.content ...

  7. Android学习笔记 Toast屏幕提示组件的使用方法

    activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...

  8. Android学习笔记_66_图片处理专题

    1.图片缩放:不解析整个图片信息. public class DemoActivity extends Activity { @Override public void onCreate(Bundle ...

  9. Android学习笔记_38_图片的拖动、缩放功能和多点触摸

    一.基础知识: 引用 理论上 Android可以处理 多达256 个手指的触摸,大概只有章鱼哥能享受这种技术带来的便利.就编程人员来说,编写多点触摸和单点触摸的方式几乎一模一样.其奥秘在于Motion ...

随机推荐

  1. 1032 Sharing

    题意:寻找两个链表的首个公共结点,输出其地址. 思路: 方法1.  如果LinkList1比LinkList2长,则让LinkList1先偏移(len1-len2)个结点,然后,让两个链表的的工作指针 ...

  2. UE4事件相关总结

    转自:http://blog.ch-wind.com/ue4-event-overview/ 事件机制是实现游戏内逻辑的重要部分,在开始进行游戏逻辑的设计和实现之前,对UE4的事件机制进行理解是非常必 ...

  3. cocos2d-x v3.3开发环境配置

    开发环境: Win10 VS2012 链接:http://pan.baidu.com/s/1bn6S31d 密码:j2ol 配置Java SDK: 新建:JAVA_HOME =G:\Java\jdk1 ...

  4. 使用Kismet进行网络扫描

    执行命令启动Kismet root@sch01ar:~# kismet 这个界面是用来设置颜色的,单击Yes按钮,默认颜色灰色 这个界面显示正在使用root用户运行Kismet工具,单击OK 这个界面 ...

  5. c#中{set;get;}使用逻辑

    (先把结论提前)下面两种定义私有变量配合公有变量的方法都没有意义,除非有特殊的逻辑需要在set或get中,其它情况都等效于 public GM_Arc Arc {set;get;} //不进行初始化, ...

  6. ubuntu双网卡准备配置

    近日有个需求,交换机有两台,做了堆叠,服务器双网卡,每个分别连到一台交换机上.这样就需要将服务器的网卡做成主备模式,以增加安全性,使得当其中一个交换机不通的时候网卡能够自动切换. 整体配置不难,网上也 ...

  7. Mycat实战之配置EP分片

    ER分片介绍 以mycat逻辑库里面自带的例子,例如客户(CUSTOMER)跟订单(orders)以及订单条目(orders_item),订单条目依 赖订单表,订单表依赖客户,这样客户与订单以及订单条 ...

  8. STA组件好资料

    http://blog.h5min.cn/zj510/article/details/38824353 http://download.csdn.net/user/zj510/uploads/1 ht ...

  9. 16-EasyNetQ之自动订阅者

    EasyNetQ v0.7.1.30版本有了一个简单AutoSubscriber.你能够使用它很容易的去扫描指定程序集中实现了IConsume 或 IConsumeAsync接口的类,然后这个自动订阅 ...

  10. Java对象的强、软、弱和虚引用

    本文介绍Java对象的强.软.弱和虚引用的概念.应用及其在UML中的表示. 1.Java对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象 ...