Android ImageSwitch(翻页图片浏览)

<ImageSwitcher
    android:id="@+id/switcher"
    android:layout_width="match_parent"
    android:layout_height="408dp"
    android:layout_marginBottom="103dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toTopOf="parent"></ImageSwitcher>
private  int[] arrayPicture=new int []{R.drawable.image1,R.drawable.image2,R.drawable.image3,R.drawable.image4};
    private ImageSwitcher imsw;
    private int index;
    private float down;
    private float up;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image_act);
        GridView gridView=findViewById(R.id.grideview);
        setTitle("滚动选择显示图片");
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//全屏显示
         imsw=findViewById(R.id.switcher);
        imsw.setOutAnimation(AnimationUtils.loadAnimation(imageACT.this,android.R.anim.fade_in));
        imsw.setOutAnimation(AnimationUtils.loadAnimation(imageACT.this,android.R.anim.fade_out));
        imsw.setFactory(new ViewSwitcher.ViewFactory() {
            @Override
            public View makeView() {
                ImageView imageView=new ImageView(imageACT.this);
                imageView.setImageResource(R.drawable.ic_launcher_background);
                return imageView;
            }
        });
//        imsw.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((ImageSwitcher)v).setImageResource(R.drawable.ic_launcher_foreground);
            }
        });
        imsw.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    down = event.getX();
                    return true;
                } else if (event.getAction() == MotionEvent.ACTION_UP) {
                    up = event.getX();
                    if (up - down > 100) {
                        index = index == 0 ? arrayPicture.length - 1 : index - 1;
                        //imsw.setInAnimation(AnimationUtils.loadAnimation(imageACT.this,R.));
                        imsw.setImageResource(arrayPicture[index]);
                    }
                    else if (down - up > 100) {
                    index = index == arrayPicture.length - 1 ? 0 : index + 1;
                    //imsw.setInAnimation(AnimationUtils.loadAnimation(imageACT.this,R.));
                    imsw.setImageResource(arrayPicture[index]);
                }
                return true;
            }

                return false;
            }
        });
  • 0
    点赞
  • 1
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论

打赏作者

BugsBunnywyj

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值