Как добавить Добавить представление в веб-представление?

Mr.Mark спросил: 13 июня 2018 в 05:29 в: android

Вот мой веб-просмотр с индикатором выполнения. Панель управления исчезает, когда после загрузки веб-представления. Он содержит в линейном макете. Моя проблема в том, что я хочу чтобы добавить представление в bottom.I попробовал.Пожалуйста, помогите мне

<android.support.constraint.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">    <LinearLayout
        android:id="@+id/liProgressContainer"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintStart_toStartOf="parent">            <ProgressBar
            android:id="@+id/progressBar"
            style="@style/Widget.AppCompat.ProgressBar.Horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF" />        <TextView
            android:id="@+id/tvLoadingPercentage"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF" />    </LinearLayout>    <WebView
        android:id="@+id/webView"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/liProgressContainer">    </WebView></android.support.constraint.ConstraintLayout>

Вот мой код представления: (я хочу добавить его в"alignParentBottom")

<com.google.android.gms.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/res-auto"
        android:id="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
    </com.google.android.gms.ads.AdView>

2 ответа

Есть решение
Orunaboka Wilson ответил: 13 июня 2018 в 07:12

Вы используете схему координатора. В макете координатора alignParentBottom не работает. Вы можете либо использовать RelativeLayout для alignParentBottom, либо отредактировать свой код в соответствии с требованиями CoordinatorLayout.

где RelativeLayout - это корневой макет:

<RelativeLayout 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"><LinearLayout
    android:id="@+id/liProgressContainer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_centerInParent="true">        <ProgressBar
        android:id="@+id/progressBar"
        style="@style/Widget.AppCompat.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF" />    <TextView
        android:id="@+id/tvLoadingPercentage"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF" /></LinearLayout><WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/liProgressContainer"/><com.google.android.gms.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/adView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>

Теперь AdView будет отображаться внизу страницы.

Bhavita Lalwani ответил: 13 июня 2018 в 07:46

Чтобы выровнять AdView до нижней части макета, вы можете сделать следующее

   <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-3940256099942544/6300978111"
    ads:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"></com.google.android.gms.ads.AdView>

Установив оставшиеся ограничения элементов, упомянутые в вашем вопросе, и ширину и высоту веб-просмотра в качестве родительских совпадений, макет будет выглядеть примерно так.

Проверьте, подходит ли этот макет.

Дополнительное видео по вопросу: Как добавить Добавить представление в веб-представление?

Android Tutorial | Learn Android Development

Custom View Accessibility Solution - Developing Android Apps