Android с Kotlin - предотвратить изменение размера WebView

У меня активность андроида с относительной раскладкой.

<?xml version="1.0" encoding="utf-8"?>
<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=".ui.transactions.detail.TransactionDetailActivity"
    android:background="@drawable/background_gradient"
    android:id="@+id/wrapperLayout" >

    <!--CODE HERE-->

</RelativeLayout>

Программно (in Kotlin) я добавляю WebView к layout :

    val wv = WebView(this);
    wv.setInitialScale(1);
    wv.settings.javaScriptEnabled = true;
    wv.settings.loadWithOverviewMode = true;
    wv.settings.useWideViewPort = true;
    wv.setPadding(0, 0, 0, 0);
    wv.layout(0, 0, 0, 0);

    wv.setWebViewClient(WebViewClient(this));

    val relativeLayout = findViewById<RelativeLayout>(R.id.wrapperLayout);

    relativeLayout.addView(wv);

Когда я загружаю некоторые URL, случается, что размер веб-просмотра изменяется.

введите описание изображения здесь

Поведение, которое я хочу, таково:

введите описание изображения здесь

Как я могу исправить размер webview, чтобы покрыть экран?

Соответствующий ответ: https://stackoverflow.com/a/9499811/1148281

Всего 1 ответ


Вы должны изменить LayoutParams для достижения этой цели.

val wv = WebView(this);
wv.setInitialScale(1);
wv.settings.javaScriptEnabled = true;
wv.settings.loadWithOverviewMode = true;
wv.settings.useWideViewPort = true;
wv.setPadding(0, 0, 0, 0);
wv.layout(0, 0, 0, 0);

wv.setWebViewClient(WebViewClient(this));

val relativeLayout = findViewById<RelativeLayout>(R.id.wrapperLayout);

relativeLayout.addView(wv)

//Solution here
wv.layoutParams = 
RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
        RelativeLayout.LayoutParams.MATCH_PARENT)

Есть идеи?

10000