android – 为什么我的进度条没有垂直居中?

前端之家收集整理的这篇文章主要介绍了android – 为什么我的进度条没有垂直居中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下布局……
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:background="@drawable/bg_generic_portrait">
  <ListView android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/issue_list_item_background_normal"
            android:listSelector="@drawable/issue_background_selector"
            android:divider="@drawable/separator"
    >
  </ListView>
  <ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:id="@+id/preloader"
    style="@android:style/Widget.ProgressBar.Large"/>

  <TextView android:id="@android:id/empty"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="#FF0000"/>
</LinearLayout>

它看起来像这样…… http://i.stack.imgur.com/Ra5c6.png

我希望预加载器也能垂直居中,出了什么问题?

解决方法

不知何故,layout_gravity运行不正常.
您需要做的是将progress_bar嵌套在linear_layout中,并将该布局的重力设置为居中,如下所示:
<LinearLayout android:orientation="vertical"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:gravity="center">
<ProgressBar
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/preloader"
          style="@android:style/Widget.ProgressBar.Large"/>
</LinearLayout>

我不建议将引力设置为最顶部的线性布局,因为如果更改列表或添加内容,可能会发生有趣的事情.

猜你在找的Android相关文章