android 如何在imageview之后转到另一个活动

von4xj4u  于 2023-05-15  发布在  Android
关注(0)|答案(1)|浏览(106)

经过5张图片在一个活动中的变化,我想一个按钮出现,一旦你达到最后一个图像

package com.example.test;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.VideoView;

import com.google.android.material.badge.BadgeUtils;

public class gt4 extends AppCompatActivity {

    ImageView Sample1;
    Button btn_gt4_back, btn_gt4_next, btn_settingsLSN, btn_done;

    private int currentImage = 0;
    int[] images = {R.drawable.gtnframe1, R.drawable.gtnframe2, R.drawable.gtnframe3, R.drawable.gtnframe4, R.drawable.gtnframe5};

    @SuppressLint("MissingInflatedId")
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getSupportActionBar().hide();
        setContentView(R.layout.gt4);

        Sample1 = (ImageView) findViewById(R.id.Sample1);
        btn_gt4_back = (Button) findViewById(R.id.btn_gt4_back);
        btn_gt4_next = (Button) findViewById(R.id.btn_gt4_next);

        //set one click listener for image

        btn_gt4_back.setOnClickListener(btn_gt4_backChangeImageListener);
        btn_gt4_next.setOnClickListener(btn_gt4_nextChangeImageListener);

    }
    View.OnClickListener btn_gt4_nextChangeImageListener = new View.OnClickListener() {

        public void onClick(View view) {
            //increase counter to move to next img
            currentImage++;
            currentImage = currentImage % images.length;

            Sample1.setImageResource(images[currentImage]);

        }
    };

    View.OnClickListener btn_gt4_backChangeImageListener = new View.OnClickListener() {

        public void onClick(View view) {

            currentImage--;
            currentImage = (currentImage + images.length) % images.length;

            Sample1.setImageResource(images[currentImage]);
        }
    };
}

目前它是连续的,在最后一个图像后,它回到第一个,我也希望返回按钮dissapear后,新的按钮,为新的活动出现
idk如何做到这一点,我已经尝试过有一个按钮,去另一个活动,但它总是出现在屏幕上

brjng4g3

brjng4g31#

首先,制作一个按钮,将您带到下一个活动,并将其放在XML文件中您希望其出现的位置,然后将可见性设置为gone。
然后,您可以在按钮的onClick中执行以下操作(假设btn_done是要显示的按钮):

View.OnClickListener btn_gt4_nextChangeImageListener = new View.OnClickListener() {

        public void onClick(View view) {
            //increase counter to move to next img
            currentImage++;
            currentImage = currentImage % images.length;

            Sample1.setImageResource(images[currentImage]);
            
            if(currentImage == 5) {
                //set btn_done to visible and btn_gt4_back to gone
            }
        }
    };

如果我没理解错的话,这应该有助于你得到你想要的东西
(* 抱歉没有包括确切的方法来做到这一点,我不记得他们,我现在不能检查,我会编辑我的答案,当我有机会检查 *)

相关问题