如何在框架布局中在中心屏幕上设置ProgressBar?

时间:2010-11-30 08:07:45

标签: android android-layout

我正在使用以下代码,但我的进度条未显示在框架布局的中心。我想避免填充到我的进度条。任何人都可以解释一下吗?如果我使用“线性布局”

,它完全有效
<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical|center_horizontal">

    <ProgressBar android:id="@+id/progress_bar"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" />

    <ImageView android:id="@+id/gallery_img"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" />

 </FrameLayout>

9 个答案:

答案 0 :(得分:40)

使用

android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_centerInParent="true"

示例:

 <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content"
     android:layout_centerHorizontal="true"
     android:layout_centerVertical="true"
     android:layout_centerInParent="true" />
android:gravity

不支持

ProgressBar属性

答案 1 :(得分:37)

在progressBar的布局xml中,将android:layout_gravity(而不是android:gravity)设置为"center"

android:layout_gravity = "center"

答案 2 :(得分:13)

FrameLayout没有android:gravity。您需要在android:layout_gravity上设置ProgressBar

答案 3 :(得分:9)

<ProgressBar
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ***android:layout_gravity="center"*** /> 

中添加此行
 <ProgressBar
              android:layout_gravity="center" />

答案 4 :(得分:3)

只需将您的布局更改为RelativeLayout并添加android:layout_centerInParent =&#34; true&#34; 到你的ProgressBar。

<ProgressBar
android:id="@+id/progBar"
android:indeterminateDrawable="@drawable/my_progress_indeterminate"
android:layout_height="50dp" 
android:layout_centerInParent="true"
android:layout_width="50dp">
</ProgressBar>

答案 5 :(得分:1)

自2018年起,您需要设置以下属性:

android:layout_centerInParent="true"

答案 6 :(得分:0)

截至2017年的工作解决方案

android:layout_gravity="center"

答案 7 :(得分:0)

<ProgressBar
    android:id="@+id/progressBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_centerInParent="true"
    />

答案 8 :(得分:-3)

您必须设置像素布局中的位置,因为不同的组件会相互重叠。因此,您可以通过在dip中设置像素来​​尝试。