Android с Kotlin - запретить изменение размера WebView - PullRequest
0 голосов
/ 16 января 2020

У меня есть android активность с относительным макетом.

<?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, бывает, что размер веб-просмотра меняется.

enter image description here

Мне нужно следующее поведение:

enter image description here

Как мне исправить размер веб-просмотра, чтобы он покрывал экран?

Соответствующий ответ: { ссылка }

1 Ответ

1 голос
/ 16 января 2020

Вы должны изменить 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...