显示位于中央的网页视图

时间:2018-07-18 18:51:49

标签: java android xml

嗨,我有一个相对的布局,其中有一个TextView和一个WebView,我想将两个对象都放在屏幕中间(在TextView下的WebView),这是我的代码:

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="#FFFFFF"
xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingTop="50dp">

<android.support.constraint.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="wrap_content"
android:background="#FFFFFF"
xmlns:app="http://schemas.android.com/apk/res-auto">

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="50dp"
    android:id="@+id/linear"
    android:orientation="vertical">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@null"
        android:gravity="left"
        android:paddingLeft="30dp"
        android:paddingTop="30dp"
        android:id="@+id/text1" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@null"
        android:gravity="left"
        android:layout_gravity="center"
        android:paddingLeft="30dp"
        android:id="@+id/text2" />

    <WebView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@null"
        android:gravity="center"
        android:layout_gravity="center"
        android:layout_marginLeft="17dp"
        android:id="@+id/text3"/>

</LinearLayout>

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    app:layout_constraintTop_toTopOf="@id/square2">

    <TextView
        android:id="@+id/text4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@null"
        android:textAlignment="center"
        android:gravity="center"
        android:layout_gravity="center"
        android:layout_marginTop="10dp" />

    <WebView
        android:id="@+id/text6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:background="@null"
        android:gravity="center"
        android:layout_gravity="center"
        android:textAlignment="center"/>

</LinearLayout>

    <ImageView
    android:layout_width="match_parent"
    android:paddingLeft="20dp"
    android:paddingRight="20dp"
    android:layout_height="200dp"
    app:layout_constraintTop_toBottomOf="@+id/linear"
    android:id="@+id/square2"
    android:src="@drawable/square"/>

<Button
    android:id="@+id/text5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="11dp"
    android:layout_marginRight="11dp"
    android:layout_marginTop="10dp"
    app:layout_constraintTop_toBottomOf="@id/square2"
    android:text="Button" />

</android.support.constraint.ConstraintLayout>

</FrameLayout>

,但是它不起作用,因为webView放置在左侧,而textView居中放置(请查看图片)。 我该如何解决?预先感谢!

Web视图未对齐:

Web View not aligned

1 个答案:

答案 0 :(得分:1)

如果您打算呈现的html不在居中位置,则无论您如何放置WebView都无关紧要,也不要在WebView上使用wrap_content使用match_parent,否则会使问题更加复杂。

在WebView中将html居中的唯一方法是

((WebView) findViewById(R.id.text6)).loadData("<body> <center> Hi </center> </body>", "text/html", "UTF-8");