AdView 不在线性布局布局底部显示广告 - 为什么会这样?
AdView doesn't show ads at the bottom of the linear layout layout -Why So?
我试图在屏幕底部显示 admob adview,但它不起作用。如果文本很短(不需要滚动),它会在文本下方显示广告,但如果文本很长(需要滚动),adview 根本不会显示。
无论文本多长或多短,我都想在屏幕底部显示广告视图。我已经为此工作了几个小时,但无法弄清楚如何让它发挥作用。
这是我的Activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="@color/backgroundColor"
tools:context=".activities.DetailActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:elevation="1.46dp"
android:background="@color/backgroundColor">
<TextView
android:id="@+id/tvWordDetail"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@color/textColorPrimary"
android:textSize="20sp"
android:gravity="center_vertical"/>
<ImageButton
android:id="@+id/textToSpeech"
android:layout_width="48dp"
android:layout_height="48dp"
android:contentDescription="@string/text_to_speech"
android:background="?actionBarItemBackground"
app:srcCompat="@drawable/ic_volume"/>
<ImageButton
android:id="@+id/btnBookmark"
android:layout_width="48dp"
android:layout_height="48dp"
android:contentDescription="@string/add_bookmark"
android:background="?actionBarItemBackground"
app:srcCompat="@drawable/ic_bookmark_border"/>
</LinearLayout>
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/viewColor"/>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/backgroundColor"
android:elevation="1.46dp"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingTop="10dp"
android:paddingRight="16dp">
<TextView
android:id="@+id/tvWordDefinition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="@color/textColorSecondary"
android:textSize="18sp" />
</LinearLayout>
</ScrollView>
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adViewDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/admob_banner_ad_detail">
</com.google.android.gms.ads.AdView>
</LinearLayout>
添加一个新属性android:layout_weight="1"并修改滚动视图的高度如下。
android:layout_height="0dp"
android:layout_weight="1"
所以滚动视图的最终属性集看起来像,
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
试试这个代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="680dp"
android:orientation="vertical"
android:background="@color/backgroundColor" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:background="@color/backgroundColor">
<TextView
android:id="@+id/tvWordDetail"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@color/textColorPrimary"
android:textSize="20sp"
android:gravity="center_vertical"/>
<ImageButton
android:id="@+id/textToSpeech"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?actionBarItemBackground"
app:srcCompat="@drawable/ic_volume"/>
<ImageButton
android:id="@+id/btnBookmark"
android:layout_width="48dp"
android:layout_height="48dp"
android:contentDescription="@string/add_bookmark"
android:background="?actionBarItemBackground"
app:srcCompat="@drawable/ic_bookmark_border"/>
</LinearLayout>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/backgroundColor"
android:elevation="1.46dp"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingTop="10dp"
android:paddingRight="16dp">
<TextView
android:id="@+id/tvWordDefinition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/textColorSecondary"
android:textSize="18sp" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adViewDetail"
android:layout_width="match_parent"
android:layout_height="50dp"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/admob_banner_ad_detail">
</com.google.android.gms.ads.AdView>
</LinearLayout>
我试图在屏幕底部显示 admob adview,但它不起作用。如果文本很短(不需要滚动),它会在文本下方显示广告,但如果文本很长(需要滚动),adview 根本不会显示。 无论文本多长或多短,我都想在屏幕底部显示广告视图。我已经为此工作了几个小时,但无法弄清楚如何让它发挥作用。
这是我的Activity.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="@color/backgroundColor"
tools:context=".activities.DetailActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:elevation="1.46dp"
android:background="@color/backgroundColor">
<TextView
android:id="@+id/tvWordDetail"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@color/textColorPrimary"
android:textSize="20sp"
android:gravity="center_vertical"/>
<ImageButton
android:id="@+id/textToSpeech"
android:layout_width="48dp"
android:layout_height="48dp"
android:contentDescription="@string/text_to_speech"
android:background="?actionBarItemBackground"
app:srcCompat="@drawable/ic_volume"/>
<ImageButton
android:id="@+id/btnBookmark"
android:layout_width="48dp"
android:layout_height="48dp"
android:contentDescription="@string/add_bookmark"
android:background="?actionBarItemBackground"
app:srcCompat="@drawable/ic_bookmark_border"/>
</LinearLayout>
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/viewColor"/>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/backgroundColor"
android:elevation="1.46dp"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingTop="10dp"
android:paddingRight="16dp">
<TextView
android:id="@+id/tvWordDefinition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="@color/textColorSecondary"
android:textSize="18sp" />
</LinearLayout>
</ScrollView>
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adViewDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/admob_banner_ad_detail">
</com.google.android.gms.ads.AdView>
</LinearLayout>
添加一个新属性android:layout_weight="1"并修改滚动视图的高度如下。
android:layout_height="0dp"
android:layout_weight="1"
所以滚动视图的最终属性集看起来像,
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
试试这个代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="680dp"
android:orientation="vertical"
android:background="@color/backgroundColor" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:background="@color/backgroundColor">
<TextView
android:id="@+id/tvWordDetail"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:textColor="@color/textColorPrimary"
android:textSize="20sp"
android:gravity="center_vertical"/>
<ImageButton
android:id="@+id/textToSpeech"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?actionBarItemBackground"
app:srcCompat="@drawable/ic_volume"/>
<ImageButton
android:id="@+id/btnBookmark"
android:layout_width="48dp"
android:layout_height="48dp"
android:contentDescription="@string/add_bookmark"
android:background="?actionBarItemBackground"
app:srcCompat="@drawable/ic_bookmark_border"/>
</LinearLayout>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/backgroundColor"
android:elevation="1.46dp"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingTop="10dp"
android:paddingRight="16dp">
<TextView
android:id="@+id/tvWordDefinition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/textColorSecondary"
android:textSize="18sp" />
</LinearLayout>
</ScrollView>
</LinearLayout>
<com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adViewDetail"
android:layout_width="match_parent"
android:layout_height="50dp"
ads:adSize="SMART_BANNER"
ads:adUnitId="@string/admob_banner_ad_detail">
</com.google.android.gms.ads.AdView>
</LinearLayout>