我躲在被view.gone的AdMob广告查看:
//adView.setClickable(false);
//adView.clearFocus();
//adView.setEnabled(false);
//adView.setFilterTouchesWhenObscured(true);
//adView.setFocusable(false);
//adView.setFocusableInTouchMode(false);
adView.setVisibility(View.GONE);
adView.startAnimation( animation );
这隐藏了广告,但广告查看本身仍然是可触摸的,所以如果我触摸AD浏览的空间,但它仍然会打开浏览器并重定向我的广告,但广告本身是不可见的。
如何禁用触摸事件吗? 我已经尝试了所有线之上,但没有一次成功。
有什么建议?
尝试使用setOnTouchListener和覆盖onTouch像你想要的。 你也可以使用removeView():
LinearLayout linLay = (LinearLayout)findViewById(R.id.ad_layout);
linLay.removeView(adView);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
linLay.addView(adView, params);
并将其添加回,当您需要。
设置adView.setVisibility(View.GONE)
并从视图层次移除AdMob视图将隐藏的广告,并防止在大多数情况下,用户交互。
当显示广告活动结束后不要忘了结束的AdView生命周期(破坏)。 从AdMob广告SDK的Javadoc:
公共无效的destroy()
销毁的AdView。 这种方法被称为后AdView中不应再使用。
拨打电话到destroy()
在活动的onDestroy()
回调:
@Override
public void onDestroy() {
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}
final com.google.ads.AdView ad = (AdView) findViewById(R.id.rect_ad);
if ( ad != null) {
ad.stopLoading();
ad.destroy();
getWindowManager().removeView(ad);
}
即使这个代码不破坏的AdMob =(((我有它的处理程序,并在网页视图存储器保持我的活动