中心进度条 [重复]

Posted

技术标签:

【中文标题】中心进度条 [重复]【英文标题】:Center ProgressBar [duplicate] 【发布时间】:2018-04-06 10:07:29 【问题描述】:

我想用全高/全宽 webview 将进度条完全居中,但我做不到。这是我的 xml 代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_
    android:layout_
    tools:context="com.example.stevejobs.iphone.MainActivity">

    <WebView
        android:layout_
        android:layout_
        android:id="@+id/webview"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

        <ProgressBar
            style="?android:attr/progressBarStyle"
            android:id="@+id/progressBar"
            android:layout_
            android:layout_
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_centerInParent="true"
            android:foregroundGravity="center"/>
    </WebView>
</RelativeLayout>

我是否在此处遗漏了任何一行以使其居中?进度条现在出现在左上角。

【问题讨论】:

如果删除 WebView 的最后三行会怎样? @Orionss 我也试过了,但什么也没发生 【参考方案1】:

试试这个

  <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_
    android:layout_
    tools:context="com.example.stevejobs.iphone.MainActivity">

    <WebView
        android:layout_
        android:layout_
        android:id="@+id/webview"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

   <ProgressBar
            style="?android:attr/progressBarStyle"
            android:id="@+id/progressBar"
            android:layout_
            android:layout_
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_centerInParent="true"
            android:foregroundGravity="center"/>
</RelativeLayout>

【讨论】:

android:layout_centerVerticalandroid:layout_centerHorizontal 是多余的,因为android:layout_centerInParent 覆盖了它们。 @azizbekian 这就像一个魅力,谢谢【参考方案2】:

你必须这样写代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_
    android:layout_
    tools:context="com.example.stevejobs.iphone.MainActivity">

    <WebView
        android:id="@+id/webview"
        android:layout_
        android:layout_
        android:layout_centerInParent="true">
    </WebView>

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyle"
        android:layout_
        android:layout_
        android:layout_centerInParent="true"
        android:foregroundGravity="center" />

</RelativeLayout>

【讨论】:

【参考方案3】:

将你的progressBar放在webview之外这样做。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_
    android:layout_
    tools:context="com.example.stevejobs.iphone.MainActivity">

    <WebView
        android:id="@+id/webview"
        android:layout_
        android:layout_
        android:layout_centerInParent="true">
    </WebView>

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyle"
        android:layout_
        android:layout_
        android:layout_centerInParent="true"
        android:foregroundGravity="center" />

</RelativeLayout>

【讨论】:

以上是关于中心进度条 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

AsyncTask 和进度条 [重复]

文件上传进度条[重复]

Android 圆形进度条-跟360进度类似-时钟刻度

关于js或jquery进度条实现?

并发请求中的进度条[重复]

Jupyter Notebook 中的 tqdm 重复打印新的进度条