Android学习笔记(十六):高级UI组件----图像类组件(图像切换器ImageSwitcher)

图像类组件(图像切换器ImageSwitcher)

  1. 图像切换器:主要用于实现带动画效果的图片切换功能。
    在这里插入图片描述
    当用户左右滑动时,会切换图片,并伴随某种动画效果。
    在activity_main.xml文件中,用ImageSwitcher标签来定义图片切换器。
    在这里插入图片描述
  2. 属性:
  • android:layout_width和android:layout_height :取值为match_parent,即与父容器相同。
  1. 通过Java代码对图像切换器进行控制:
    首先准备两张图片在res/drawable目录下:
    在这里插入图片描述
    给图片切换器设置id:
    在这里插入图片描述
    在Java文件中进行如下操作:
package com.example.imageswitcherdemo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取图像切换器对象
        ImageSwitcher is=findViewById(R.id.imageswitcher);
        //设置 淡出 动画效果(AnimationUtils是一个动画效果工具类,loadAnimation()为加载某个动画效果)
        is.setOutAnimation(AnimationUtils.loadAnimation(MainActivity.this,android.R.anim.fade_out));
        //设置 渐入 动画效果
        is.setInAnimation(AnimationUtils.loadAnimation(MainActivity.this,android.R.anim.fade_in));
        //为图像切换器指定视图工厂,用来显示图片切换器的第一张图片
        is.setFactory(new ViewSwitcher.ViewFactory() {
            @Override
            public View makeView() {
                ImageView imageView=new ImageView(MainActivity.this);
                imageView.setImageResource(R.drawable.biaoqingbao);
                return imageView;
            }
        });
        //为图像切换器设置一个单击事件监听器,用来设置监听到单击事件更改图片切换器的显示图片
        is.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((ImageSwitcher)v).setImageResource(R.drawable.zhanjian);
            }
        });
    }
}

运行结果:
刚运行:
在这里插入图片描述
单击:
在这里插入图片描述
在这里插入图片描述
可以看到单击后第一张图片会淡出,第二张图片会渐入

发布了32 篇原创文章 · 获赞 10 · 访问量 5473

猜你喜欢

转载自blog.csdn.net/weixin_44480874/article/details/104310899
今日推荐