工具栏和 admob 横幅覆盖应用内容

Toolbar and admob banner are covering the app content

我有一个正在开发的 bpm 应用程序,但我可以让布局正常工作我已经尝试过线性和相对布局,但我似乎无法让它工作。

M 顶部工具栏没有填满屏幕的整个宽度,它周围似乎有某种填充,它还覆盖了应用程序中的内容,而不是工具栏之后开始的内容。

底部的admob横幅广告似乎也有同样的问题。我很长一段时间都无法让它显示,但我终于让它显示了,只是现在它覆盖了屏幕上的应用程序内容?

有什么方法可以使工具栏一直到顶部,周围没有填充,并占据屏幕的整个宽度...并且不覆盖内容..内容将在工具栏...

是否有办法让底部的横幅广告也不会覆盖应用内容???

my app now

这是我的布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/appView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/transitioning_background"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".TempoActivity">

<!-- TOOLBAR START -->
<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:textColor="@color/ColorRemoveAds"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>
<!-- TOOLBAR END -->

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/appView2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/transitioning_background"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".TempoActivity">

<TextView
    android:id="@+id/bpmLabelTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="10dp"
    android:text="@string/bpm"
    android:textColor="@color/textColor"
    android:textSize="40sp" />

<TextView
    android:id="@+id/bpmTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/bpmLabelTextView"
    android:layout_centerHorizontal="true"
    android:text="@string/initial_bpm_value"
    android:textColor="@color/textColor"
    android:textSize="70sp" />

<Button
    android:id="@+id/tapButtonView"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:layout_above="@+id/instructionalLabelTextView"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="32dp"
    android:background="@drawable/round_button"
    android:text="@string/tap"
    android:textColor="@color/textColor"
    android:textSize="90sp" />

<TextView
    android:id="@+id/instructionalLabelTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="28dp"
    android:text="@string/reset_instructions"
    android:textColor="@color/textColor" />

</RelativeLayout>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:id="@+id/adView2">

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>


</RelativeLayout>

这让我很困惑,我已经阅读了几个小时,如有任何帮助,我们将不胜感激

更新*: 我已经设法让工具栏部分使用线性布局工作! 但是 admob 横幅现在已经从页面上消失了....

这是我现在正在使用的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<!-- TOOLBAR START -->
<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:textColor="@color/ColorRemoveAds"
        app:itemIconTint="@color/ColorRemoveAds"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>
<!-- TOOLBAR END -->

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/appView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/transitioning_background"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".TempoActivity">


<TextView
    android:id="@+id/bpmLabelTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="10dp"
    android:text="@string/bpm"
    android:textColor="@color/textColor"
    android:textSize="40sp" />

<TextView
    android:id="@+id/bpmTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/bpmLabelTextView"
    android:layout_centerHorizontal="true"
    android:text="@string/initial_bpm_value"
    android:textColor="@color/textColor"
    android:textSize="70sp" />

<Button
    android:id="@+id/tapButtonView"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:layout_above="@+id/instructionalLabelTextView"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="32dp"
    android:background="@drawable/round_button"
    android:text="@string/tap"
    android:textColor="@color/textColor"
    android:textSize="90sp" />

<TextView
    android:id="@+id/instructionalLabelTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="28dp"
    android:text="@string/reset_instructions"
    android:textColor="@color/textColor" />

</RelativeLayout>

<!-- PAGE BOTTOM ADMOB BANNER VIEW START -->
<LinearLayout
    android:id="@+id/banneradview"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@layout/bannerborderline"
    android:layout_below="@id/appView">

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:screenOrientation="portrait"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id"/>
</LinearLayout>
<!-- PAGE BOTTOM ADMOB BANNER VIEW END -->

这是应用程序现在的样子 my app now

你的布局应该是这样的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:ads="http://schemas.android.com/apk/res-auto"
              xmlns:app="http://schemas.android.com/apk/res-auto"
              xmlns:tools="http://schemas.android.com/tools"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            android:textColor="@color/ColorRemoveAds"
            app:itemIconTint="@color/ColorRemoveAds"
            app:popupTheme="@style/AppTheme.PopupOverlay"/>

    </android.support.design.widget.AppBarLayout>

    <RelativeLayout
        android:id="@+id/appView"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@drawable/transitioning_background"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".TempoActivity">


        <TextView
            android:id="@+id/bpmLabelTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="10dp"
            android:text="@string/bpm"
            android:textColor="@color/textColor"
            android:textSize="40sp"/>

        <TextView
            android:id="@+id/bpmTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/bpmLabelTextView"
            android:layout_centerHorizontal="true"
            android:text="@string/initial_bpm_value"
            android:textColor="@color/textColor"
            android:textSize="70sp"/>

        <Button
            android:id="@+id/tapButtonView"
            android:layout_width="250dp"
            android:layout_height="250dp"
            android:layout_above="@+id/instructionalLabelTextView"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="32dp"
            android:background="@drawable/round_button"
            android:text="@string/tap"
            android:textColor="@color/textColor"
            android:textSize="90sp"/>

        <TextView
            android:id="@+id/instructionalLabelTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="28dp"
            android:text="@string/reset_instructions"
            android:textColor="@color/textColor"/>

    </RelativeLayout>

    <LinearLayout
        android:id="@+id/banneradview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@layout/bannerborderline"
        android:orientation="horizontal">

        <com.google.android.gms.ads.AdView
            android:id="@+id/adView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:screenOrientation="portrait"
            ads:adSize="BANNER"
            ads:adUnitId="@string/banner_ad_unit_id"/>
    </LinearLayout>
</LinearLayout>

RelativeLayout 的主要变化。应该是:

android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"

为了填充所有 free space,但根本不填充 all space。