Android ProgressBar .xml 布局

5

我有一个XML文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/progressbar"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:visibility="visible" />

    <WebView
        android:id="@+id/web_engine"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:visibility="gone" />

</LinearLayout>

我希望 ProgressBar 的样式为 Large,并且在屏幕垂直和水平方向上居中... 当我将 layout_widthheight 设置为fill_parent 时,它会使整个加载图标的大小增加到整个屏幕大小... 我该如何让布局适应整个屏幕并将实际加载图标居中显示?


尝试使用android:layout_gravity =“center” - VendettaDroid
2个回答

10

我已经检查了一些可能性,根据我的经验,最适合此任务的选项是:

<?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" >

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

    <WebView
        android:id="@+id/web_engine"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"       
        android:visibility="gone" />

</RelativeLayout>

我正在使用带有 android:layout_centerInParent="true"RelativeLayout,它比 LinearLayout 更好用。

干杯!


运行完美,RelativeLayout 的效果更好!谢谢。 - tcd

3

您也可以使用FrameLayout代替LinearLayout。这样可见视图将会重叠在不可见视图上方。我已经修改了您的代码:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

<ProgressBar
    android:id="@+id/progressbar"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical|center_horizontal"
    android:visibility="visible" />

<WebView
    android:id="@+id/web_engine"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:visibility="gone" />

</FrameLayout>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接