Android 互联网不可用时如何隐藏广告
我正在制作一个添加的应用程序。但是,即使internet连接不可用,它也会占用视图/布局中的空间。我只想隐藏它,不允许它在internet不可用时占用布局/视图中的空间。这是xml:Android 互联网不可用时如何隐藏广告,android,Android,我正在制作一个添加的应用程序。但是,即使internet连接不可用,它也会占用视图/布局中的空间。我只想隐藏它,不允许它在internet不可用时占用布局/视图中的空间。这是xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.andro
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:orientation="vertical" >
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="visible" >
<ImageView
android:id="@+id/explain_QuestionImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible" />
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5.0dip"
android:layout_marginLeft="1.0dip"
android:layout_marginRight="1.0dip"
android:layout_marginTop="1.0dip"
android:fadeScrollbars="true"
android:fadingEdge="none"
android:fillViewport="true" >
<TextView
android:id="@+id/explain_question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/explain_QuestionImageView"
android:fadingEdge="vertical"
android:scrollbars="vertical"
android:text=""
android:textColor="@color/question_text"
android:textColorHighlight="@color/question_text1" />
</ScrollView>
<TextView
android:id="@+id/explain_separator"
android:layout_width="match_parent"
android:layout_height="5.0dip"
android:layout_alignParentRight="true"
android:layout_below="@id/explain_question"
android:background="@drawable/blue_gradient"
android:fadingEdge="vertical"
android:padding="10dp"
android:scrollbars="vertical"
android:text="" />
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="100.0dip"
android:layout_marginLeft="1.0dip"
android:layout_marginRight="1.0dip"
android:layout_marginTop="1.0dip"
android:fadeScrollbars="true"
android:fadingEdge="none"
android:fillViewport="true" >
<TextView
android:id="@+id/explain_explaination"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@id/explain_separator"
android:fadingEdge="vertical"
android:padding="10dp"
android:scrollbars="vertical"
android:text=""
android:textColor="@color/dark_green" />
</ScrollView>
</LinearLayout>
<!-- </ScrollView> -->
</FrameLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
<com.google.ads.AdView
android:id="@+id/ad"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:keepScreenOn="true"
ads:adSize="BANNER"
ads:adUnitId="a1501e5633125fb"
ads:loadAdOnCreate="true"
ads:testDevices="TEST_EMULATOR, 123456789ABCDEF" >
</com.google.ads.AdView>
<LinearLayout
android:id="@+id/LL_Buttons1"
android:layout_width="fill_parent"
android:layout_height="40.0dip"
android:layout_above="@id/ad"
android:layout_gravity="bottom"
android:background="#ff777777"
android:orientation="horizontal" >
<Button
android:id="@+id/PrevExplainationButton"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:layout_marginLeft="2.0dip"
android:layout_weight="1.0"
android:background="@drawable/ibtn"
android:onClick="onPrevExplainationButtonClick"
android:text="Previous" />
<Button
android:id="@+id/NextExplainationButton"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:layout_marginLeft="5.0dip"
android:layout_marginRight="2.0dp"
android:layout_weight="1.0"
android:background="@drawable/ibtn"
android:onClick="onNextExplainationButtonClick"
android:text="Next" />
</LinearLayout>
</RelativeLayout>
请告诉我怎么做。这里,举一个更具体的例子,您可以测试连接,然后将可见性设置为“gone”:
private boolean isNetworkConnected() {
yourAddView = (AdView) findViewById(R.id.ad);
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
//Set the visibility to "gone".
//You can set visibility to gone here or when the function returns,
//that is why there is a return false and true.
myView.setVisibility(8);
return false;
} else
return true;
}
您还需要将这些权限添加到清单文件:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
希望有帮助 要检查数据连接是否可用,请使用以下功能 还要在清单中添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
试试这个
ad.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
ad.setVisibility(View.VISIBLE);
}
@Override
public void onAdFailedToLoad(int error) {
ad.setVisibility(View.GONE);
}
});
添加Abed Putra的Kotlin版本
MobileAds.initialize(此)
var madView=findviewbyd(R.id.adView)
madView.loadAd(AdRequest.Builder().build())
madView.adListener=对象:adListener(){
覆盖失败的TOLOAD上的乐趣(p0:Int){
madView.visibility=消失
}
}
在您的代码中,检查internet是否可用或是否存在连接,然后将“添加”视图的可见性设置为“消失”。
ad.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
ad.setVisibility(View.VISIBLE);
}
@Override
public void onAdFailedToLoad(int error) {
ad.setVisibility(View.GONE);
}
});
MobileAds.initialize(this)
var madView = findViewById<AdView>(R.id.adView)
madView.loadAd(AdRequest.Builder().build())
madView.adListener = object: AdListener(){
override fun onAdFailedToLoad(p0: Int) {
madView.visibility = GONE
}
}