在Adview的底端对齐Webview

Align Webview at the bottom end of Adview

我的 Constraintlayout 中有一个 AdView 和一个 WebView。测试中显示的广告高度为 90dp,但在实际情况下可能为 50dp 或 30dp,具体取决于分辨率屏幕。我使用 android:layout_marginTop="90dp" 作为我的 WebView 将其对齐在 AdView.

有没有办法以编程方式更改 marginTop 值并根据其显示的广告高度将 WebView 垂直对齐在 AdView 下方?

这是我的activity.xml

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" >

  <com.google.android.gms.ads.AdView
        android:id="@+id/adView1"
    
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/adview_border"
        app:adSize="SMART_BANNER"
        app:adUnitId="1232131231"
        app:layout_constraintTop_toTopOf="parent">

    <WebView
        android:id="@+id/webview1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
    android:layout_marginTop="90dp"
    android:layout_marginBottom="1dp"
    >
</WebView>

感谢任何帮助。

您需要在 WebView 上使用 layout_constraintTop_toBottomOf 并根据 AdMob 对齐。以下是您可以尝试的示例代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 

    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">
    
        <com.google.android.gms.ads.AdView
            android:id="@+id/adView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:background="@drawable/adview_border"
            app:adSize="SMART_BANNER"
            app:adUnitId="1232131231"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>
    
        <WebView
            android:id="@+id/webview1"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/adView1" />
    </androidx.constraintlayout.widget.ConstraintLayout>