元素被推到右边。为什么?

Element gets pushed to the right. Why?

当我的LinearLayout被这样编码时:

<LinearLayout ...
<!-- SOME CODE HERE -->
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="17">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/inputText"
        android:inputType="textCapCharacters|textMultiLine"
        android:hint="@string/input_text_hint"
        android:gravity="top|left"/>
</LinearLayout>
<!-- MORE CODE HERE -->
</LinearLayout>

我的 activity 看起来像这样:

但是当我添加此 adMob 代码时:

<LinearLayout ...
<!-- SOME CODE HERE -->
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="17">

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

    <EditText
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/inputText"
        android:inputType="textCapCharacters|textMultiLine"
        android:hint="@string/input_text_hint"
        android:gravity="top|left"/>
</LinearLayout>
<!-- MORE CODE HERE -->
</LinearLayout>

我明白了:

如何让广告显示在 EditText 之上?

LinearLayour 的默认方向是水平的,这使得添加将您的 EditText 推向右侧。如果将 android:orientation="vertical" 添加到父 LinearLayout,问题就解决了。

我认为您必须使用的正确代码是:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="17">

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

<EditText
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/inputText"
    android:inputType="textCapCharacters|textMultiLine"
    android:hint="@string/input_text_hint"/>
</LinearLayout>

我已经删除了一些可能会使您提供的图像中的布局看起来难看的属性。