6

view.gone で admob adview を非表示にします。

//adView.setClickable(false);
//adView.clearFocus();
//adView.setEnabled(false);
//adView.setFilterTouchesWhenObscured(true);
//adView.setFocusable(false);
//adView.setFocusableInTouchMode(false);
adView.setVisibility(View.GONE);
adView.startAnimation( animation );

これにより広告が非表示になりますが、広告ビュー自体は引き続きタッチ可能であるため、広告ビューのスペースに触れると、広告自体は表示されませんが、ブラウザーが開いて広告にリダイレクトされます。

タッチイベントも無効にする方法は? 上記のすべての行を試しましたが、どれも機能しませんでした。

何かアドバイス?

4

3 に答える 3

6

ビュー階層から AdMob ビューを設定adView.setVisibility(View.GONE)または削除すると、ほとんどの場合、広告が非表示になり、ユーザー操作ができなくなります。

広告を表示するアクティビティが終了 (破棄) されたら、AdView ライフサイクルを終了することを忘れないでください。AdMob SDK Javadoc から:

public void destroy()

AdView を破棄します。このメソッドが呼び出された後は、AdView を使用しないでください。

destroy()アクティビティのonDestroy()コールバックで呼び出しを行います。

@Override
public void onDestroy() {
    if (adView != null) {
        adView.destroy();
    }
super.onDestroy();
}
于 2012-08-21T10:18:42.240 に答える
5

必要に応じて setOnTouchListener と Override 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);

必要に応じて追加してください。

于 2012-04-22T22:09:35.950 に答える
0
final com.google.ads.AdView ad = (AdView) findViewById(R.id.rect_ad);
   if ( ad != null) {
            ad.stopLoading();
            ad.destroy();
            getWindowManager().removeView(ad);
   }

このコードでも AdMob =((( Handler と WebView がメモリにあり、アクティビティを保持しています

于 2013-09-30T20:46:05.833 に答える