2012-05-07 30 views
0

請注意:目前不針對佈局使用任何XML!我不想改變這一點。Admob視圖已設置爲已停止接收點擊次數

我有一個Admob橫幅在某個時間點在我的遊戲中膨脹。我用this教程。它工作正常。

現在,當我刪除橫幅時,它會消失,因爲它應該。但是,它不斷收到點擊,阻止底層視圖捕捉點擊。 :(

我使用此代碼刪除廣告橫幅:

public static void HideAd() { 
    AppelzActivity.runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      AlphaAnimation animation = new AlphaAnimation(1.0f, 0.0f); 
      animation.setDuration(400); 
      animation.setFillAfter(true); 
      animation.setInterpolator(new AccelerateInterpolator()); 
      AppelzActivity.adView.startAnimation(animation); 
      AppelzActivity.adView.setClickable(false); 
      AppelzActivity.adView.setVisibility(View.GONE); 

     }}); 
} 

我想象的setClickable(假)和setVisibility(View.GONE)就足夠我也試過setClickable(真),因爲我發現一個bugreport關於這個布爾工作相反方向..:S

所以,當我調用HideAd,廣告肯定會消失(AlphaAnimation ==工作)。但是,當我點擊區域廣告曾經是,它仍然帶我到廣告所代表的URL。我希望點擊可以被用戶看到的視圖處理(就像我在c舔在橫幅曾經是地區以外的地方)..

謝謝!

回答

0

嗯。它在我註釋掉時發揮作用

animation.setFillAfter(true); 
+0

發生這種情況可能是因爲在代碼中的上面一行代碼中,動畫不會一直持續到動畫結束。但是當你試圖隱藏視圖時,它會以某種方式破壞動畫。 –

+0

啊..我明白了,埃裏克..所以你說的是,如果當我確定動畫已經結束時(例如onAnimationEnd(動畫動畫)),將視圖設置爲GONE,那就沒有問題了。我會試試看。註釋掉setFillAfter並不打擾我,雖然..我的印象是我需要它,因爲否則動畫結束的情況將不會保持。但是,因爲我將它設置爲「無效」,所以這並不重要。 –

+0

我並不確定這種行爲。這只是一個理論。但是我想象一下,因爲你立刻將視圖設置爲「無效」,所以你實際上並沒有獲得動畫。 –