购买 ImageButton 解锁

Shop ImageButton to unlock

my shop image

那是 imageButton,如果硬币不等于价格,我会尝试让每个按钮都无法点击,再加上一个代码,如果点击它会出现吐司警报 "success"

很简单!

首先,将 android:clickable="false" 设置为布局文件中的所有图像按钮。

然后,使用 SharedPreferences 来保存您的币值

SharedPreferences.Editor editor = getSharedPreferences("PREFS", MODE_PRIVATE).edit();
        editor.putString("coins", "100");
        editor.apply();

然后您可以在 OnCreate activity 方法中验证硬币是否不等于价格:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_layout);

    button100 = findViewById(R.id.yourbutton);
    button150 = findViewById(R.id.yourbutton);
    button300 = findViewById(R.id.yourbutton);
    button450 = findViewById(R.id.yourbutton);

    button100.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counterMtd();
        }
    });

    button150.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counterMtd();
        }
    });

    button300.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counterMtd();
        }
    });

    button450.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            counterMtd();
        }
    });
}

private void counterMtd(){

    SharedPreferences preferences = getApplicationContext().getSharedPreferences("PREFS", MODE_PRIVATE);
    String coins = preferences.getString("coins", "0");
    int coinsCounter = Integer.parseInt(coins);

    if (coinsCounter >= 100){

        button100.setClickable(true);
        button150.setClickable(false);
        button300.setClickable(false);
        button450.setClickable(false);
    }

    if (coinsCounter >= 150){

        button100.setClickable(true);
        button150.setClickable(true);
        button300.setClickable(false);
        button450.setClickable(false);
    }

    if (coinsCounter >= 300){

        button100.setClickable(true);
        button150.setClickable(true);
        button300.setClickable(true);
        button450.setClickable(false);
    }

    if (coinsCounter >= 450){

        button100.setClickable(true);
        button150.setClickable(true);
        button300.setClickable(true);
        button450.setClickable(true);
    }
}

解释:

  • button100指的是可以购买100金币的按钮
  • button150指的是可以购买150金币的按钮
  • button300指的是可以购买300金币的按钮
  • button450指的是可以购买450金币的按钮

希望对您有所帮助!