�android ImageSwitcher左右切换图片很方便,适合于做image图片预览功能,下面的案例将简单学习ImageSwitcher控件的用法。
1:在在activity_main.xml中添加ImageSwitcher控件和两个Button按钮,表示为上一张,下一张。
�<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.baidu.imageswitcherdemo.MainActivity"> <ImageSwitcher android:id="@+id/imagesw" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_centerHorizontal="true" > </ImageSwitcher> <Button android:text="上一张" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:id="@+id/btn1"/> <Button android:text="下一张" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:id="@+id/btn2"/> </RelativeLayout>�
2:在MainActivity.java中添加button按钮点击事件,用于切换res/drawable下面的first.png和second.png图片,代码如下。
�package com.baidu.imageswitcherdemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.ViewSwitcher; public class MainActivity extends AppCompatActivity { private ImageSwitcher switcher; private Button btn1,btn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); switcher = (ImageSwitcher)findViewById(R.id.imagesw); btn1 = (Button)findViewById(R.id.btn1); btn2 = (Button)findViewById(R.id.btn2); switcher.setFactory(new ViewSwitcher.ViewFactory() { @Override public View makeView() { ImageView imageView = new ImageView(getApplicationContext()); //居中显示 imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); return imageView; } }); //设置第一张图片点击事件 btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //设置图片 switcher.setImageResource(R.drawable.first); } }); //设置第2张图片点击事件 btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //设置图片 switcher.setImageResource(R.drawable.second); } }); } }�
�运行后效果如图所示。