本文共 2209 字,大约阅读时间需要 7 分钟。
Android——ImageSwitcher轮流显示动画
主要布局
使用一个ImageSwitcher放置图片
MainActivity:
package com.example.imageswitcher;import androidx.appcompat.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 implements View.OnClickListener, ViewSwitcher.ViewFactory { private ImageSwitcher is_1; private Button btn_next; private Button btn_previous; private int image[]={ R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4}; private int imageIndex = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); is_1 = findViewById(R.id.is_1); btn_next = findViewById(R.id.btn_next); btn_previous = findViewById(R.id.btn_prebious); init(); btn_previous.setOnClickListener(this); btn_next.setOnClickListener(this); } @Override public View makeView(){ ImageView imageView = new ImageView(this); return imageView; } private void init(){ is_1.setFactory(this); is_1.setImageResource(image[imageIndex]); } @Override public void onClick(View v) { if (v.getId() == R.id.btn_next){ imageIndex++; if (imageIndex>3){ imageIndex=0; }; is_1.setInAnimation(this,R.anim.leftin); is_1.setOutAnimation(this,R.anim.rightout); }else if (v.getId() == R.id.btn_prebious){ imageIndex--; if (imageIndex<0){ imageIndex=image.length-1; }; is_1.setInAnimation(this,R.anim.rightin); is_1.setOutAnimation(this,R.anim.leftout); } is_1.setImageResource(image[imageIndex]); }}
使用ImageSwitcher的Animation进行动画播放。
leftin.xml
leftout.xml
rightin.xml
rightout.xml
效果演示
转载地址:http://swsoi.baihongyu.com/