【问题标题】:Button Menu Android按钮菜单 Android
【发布时间】:2011-12-20 09:23:04
【问题描述】:

我正在尝试为我的应用制作捐赠菜单。我已经弄清楚了当用户点击捐赠时,更多的按钮会显示多少。现在,如果他们再次单击同一个按钮,我希望能够让金额按钮消失。我希望保留常规的 DonateButton。我该怎么做呢?

我已经使用purchaseButton.setVisibility(View.GONE);将其设置为不可见

这里是点击按钮和其他按钮出现的代码:

    public void onClick(View v) {
        switch (v.getId()) {

        case R.id.DonateButton:

              purchaseButton.setVisibility(View.VISIBLE);
              purchaseButton2.setVisibility(View.VISIBLE);
              purchaseButton3.setVisibility(View.VISIBLE);

        case R.id.Donate:
                if(BillingHelper.isBillingSupported()){
                        BillingHelper.requestPurchase(mContext, "donate");
                        // android.test.purchased or android.test.canceled or android.test.refunded
        } else {
                Log.i(TAG,"Can't purchase on this device");
        }

                break;
        default:
                // nada
                Log.i(TAG,"default. ID: "+v.getId());
                break;

case R.id.Donatetwo:
    if(BillingHelper.isBillingSupported()){
            BillingHelper.requestPurchase(mContext, "donate2");
            // android.test.purchased or android.test.canceled or android.test.refunded
} else {
    Log.i(TAG,"Can't purchase on this device");
}

    break;

case R.id.Donatethree:
    if(BillingHelper.isBillingSupported()){
            BillingHelper.requestPurchase(mContext, "donate3");
            // android.test.purchased or android.test.canceled or android.test.refunded
} else {
    Log.i(TAG,"Can't purchase on this device");
}

    break;
        }
}

我的意思的截图:

图片网址(还没有 10 名声望): http://i.stack.imgur.com/AMdhS.png

我想说的是。

  • 应用程序出现时只显示“捐赠!”按钮。 =>
  • 用户点击“捐赠!”按钮。 =>
  • 出现“捐赠 1 美元”、“捐赠 3 美元”和“捐赠 5 美元”按钮。 => 我需要这里的帮助
  • 用户想要关闭“捐赠 1 美元”、“捐赠 3 美元”和“捐赠 5 美元”按钮。 =>
  • 要关闭它们,他们单击“捐赠!”这是他们用来打开它的按钮。 =>
  • “捐赠 1 美元”、“捐赠 3 美元”和“捐赠 5 美元”消失了。

我希望它仍然允许他们多次打开和关闭这些按钮。

【问题讨论】:

  • 问题不清楚如果再次点击同一个按钮,金额按钮就会消失是什么意思?请张贴截图然后清楚。
  • 我已经添加了图片并试图使其更清晰。希望能帮助到你。 :)

标签: android button


【解决方案1】:

一个简单的状态变量应该可以。

把它放在你的字段定义区域:

boolean areButtonAmountVisible = false;

将此代码作为您的onClick()

case R.id.DonateButton:

   if( areButtonAmountVisible )
   {
       areButtonAmountVisible = false;
       purchaseButton.setVisibility(View.GONE);
       purchaseButton2.setVisibility(View.GONE);
       purchaseButton3.setVisibility(View.FONE);
   }
   else
   {
       areButtonAmountVisible = true;
       purchaseButton.setVisibility(View.VISIBLE);
       purchaseButton2.setVisibility(View.VISIBLE);
       purchaseButton3.setVisibility(View.VISIBLE);
   }

【讨论】:

  • 谢谢。我知道这很简单,但我就是拿不准。
【解决方案2】:

试试这个。

使用getVisibility()方法知道按钮的可见状态。

int visibility;


visibility = button.getVisibility();
if(visibility == View.VISIBLE) {
    button.setVisibility(View.INVISIBLE);
} else {
    button.setVisibility(View.VISIBLE);
}

您必须对每个按钮进行这样的检查。


我再建议一件事。

获取一个全局变量并将其用作通知程序,在所有按钮单击功能中使用以下代码。

boolean again = false;

if (again) {
    // make all invisible
    again = false;
} else {
    // make all visible
    again = true;
}

【讨论】:

  • 感谢您的回复,我已经从上面的帖子中得到了它。不过,我感谢您的帮助! :)
  • 看,在我要求截图和清晰度问题后,你得到了答案。好的。所以不要忘记清楚地发布问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 1970-01-01
  • 2014-05-04
  • 2015-10-05
  • 1970-01-01
  • 2011-07-13
相关资源
最近更新 更多