2011-12-20 125 views
1

我正在尝试为我的应用创建一个捐赠菜单。我已经想出了当用户点击捐赠时,更多的按钮出现了多少。现在,如果再次点击相同的按钮,我希望能够使数量按钮消失。我想要保留常规的DonateButton。我会怎么做呢?按钮菜单Android

我已经设置使用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

我试图t说的是。

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

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

+0

问题不明确**数量按钮消失,如果他们再次点击相同的按钮**意味着什么?请张贴截图,然后明确。 – 2011-12-20 09:28:46

+0

我已添加图片并试图使其更清晰。希望能帮助到你。 :) – 2011-12-20 09:44:05

回答

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); 
    } 
+0

谢谢。我知道这很简单,我无法把它放在手上。 – 2011-12-20 09:58:45

1

试试这个。使用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; 
} 
+0

感谢您的回复,我已经从上述文章中获得了它的帮助。尽管我感谢你的帮助! :) – 2011-12-20 10:01:30

+0

看到后,我问屏幕截图和清晰度问题,你有答案。好。所以不要忘记发问清楚。 – 2011-12-20 10:04:07

+0

好的。非常感谢。 :) – 2011-12-20 10:21:46