2012-05-07 29 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

我并不确定这种行为。这只是一个理论。但是我想象一下,因为你立刻将视图设置为“无效”,所以你实际上并没有获得动画。 –