中间进度条在页面中间?

时间:2016-12-07 11:33:35

标签: android

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_centerInParent="true" />

    <WebView
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/progressBar1"
        />
</RelativeLayout>

这样可行,但它将整个页面向下移动到中间并用黑色背景替换它。我的意思是它显示在页面中间而不是内容。内容被推倒。

enter image description here

4 个答案:

答案 0 :(得分:0)

将相对布局更改为FrameLayout。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

 <ProgressBar
    android:id="@+id/progressBar1"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" />
</FrameLayout>

这将帮助你。此布局处理也比RelativeLayout快得多,它将提高您的应用程序性能(用户不可见)

答案 1 :(得分:0)

这对你有帮助

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"     />
    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerInParent="true"
        android:layout_centerVertical="true" />
</RelativeLayout>

您可以根据需要隐藏/显示进度条

答案 2 :(得分:0)

RelativeLayout 将您的UI元素与其他元素进行比较。这就是它被推倒的原因。您需要替换它,或修改代码。

在这种情况下,只需从 WebView 中删除 android:layout_below =“@ + id / progressBar1”。这将一切都重新定位在中心位置。

现在,将 WebView 放在 ProgressBar 上方,以便在 WebView 之上显示 ProgressBar

{{1}}

您还可以在此代码中使用 FrameLayout 代替 RelativeLayout 。希望这有帮助!

答案 3 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />
</RelativeLayout>

希望这会有所帮助..