我的布局如下。基本上,顶部和底部的文本视图之间都带有webview来填充剩余的空间。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignWithParentIfMissing="true">
<android.support.constraint.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="24dp"/>
<android.support.constraint.Guideline
android:id="@+id/guideline1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="24dp"/>
<TextView
android:id="@+id/heading"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/heading"
android:textSize="20dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@id/guideline1"
app:layout_constraintEnd_toEndOf="@id/guideline2"/>
<TextView
android:id="@+id/disclaimer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="@string/disclaimer"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="@+id/guideline1"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintBottom_toBottomOf="parent"/>
<WebView
android:id="@+id/webview"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="@id/guideline1"
app:layout_constraintEnd_toStartOf="@id/guideline2"
app:layout_constraintTop_toBottomOf="@id/heading"
app:layout_constraintBottom_toTopOf="@id/disclaimer"/>
</android.support.constraint.ConstraintLayout>
要加载我正在执行的网址,
webView = (WebView) findViewById(R.id.webview);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(true);
WebSettings webViewSettings = webView.getSettings();
webViewSettings.setJavaScriptEnabled(true);
webViewSettings.setUseWideViewPort(true);
webViewSettings.setBuiltInZoomControls(true);
webViewSettings.setLoadWithOverviewMode(true);
webViewSettings.setDomStorageEnabled(true);
if (Build.VERSION.SDK_INT >= 11) {
webViewSettings.setDisplayZoomControls(false);
}
webView.loadUrl("http://www.icons101.com/icons/21/Circle_by_Martz90/128/games.png");
我希望即使在内容很小的情况下,网络视图也能扩展到整个屏幕,但这是我得到的
如何将“免责声明”固定在父级底部,并让Webview填充剩余的空白空间?
答案 0 :(得分:0)
您可以使用以下布局:
<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">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="24dp"/>
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="24dp"/>
<TextView
android:id="@+id/heading"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="heading"
android:textSize="20dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@id/guideline1"
app:layout_constraintEnd_toEndOf="@id/guideline2"/>
<TextView
android:id="@+id/disclaimer"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="disclaimer"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="@+id/guideline1"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintBottom_toBottomOf="parent"/>
<WebView
android:id="@+id/webview"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@id/disclaimer"
app:layout_constraintEnd_toStartOf="@id/guideline2"
app:layout_constraintStart_toStartOf="@id/guideline1"
app:layout_constraintTop_toBottomOf="@id/heading" />
您的代码实际上几乎100%都不错,但是您的webView居中位于屏幕中心,因此我将其限制在边界范围内,现在它将占据所有剩余空间。