�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);
}
});
}
}��运行后效果如图所示。
