我的代码在listview顶部显示空间(见左图)。如果我删除android:gravity="center"
,则会正确显示(参见右图)
但ProgressBar不显示在屏幕中央,它显示在屏幕左侧。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<ListView
android:id="@+id/listCategory2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fadeScrollbars="true"
android:fastScrollEnabled="true"
android:divider="@color/background"
android:dividerHeight="1dp"
android:visibility="gone"
android:background="@drawable/border9"
android:listSelector="@drawable/listview_selector" />
<ProgressBar
android:id="@+id/prgLoading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Inverse"
android:layout_centerInParent="true" />
<TextView
android:id="@+id/txtAlert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/alert"
android:textColor="@color/text"
android:textSize="14sp"
android:layout_centerInParent="true"
android:visibility="gone" />
</LinearLayout>
答案 0 :(得分:7)
您采用的父布局是LinearLayout,xml android中的方法:layout_centerInParent =“true”适用于RelativeLayout。你需要将它改为android:layout_gravity =“center”。您可以改为将父布局更改为RelativeLayout。
答案 1 :(得分:3)
您可以使用<FrameLayout>
,这对您非常有用。
并设置进度条(match_parent
和layout_width
需要layout_height
):
<ProgressBar
android:id="@+id/prgLoading"
android:layout_width="match_parent"
android:layout_height="match_parent"
style="@android:style/Widget.ProgressBar.Inverse"
android:layout_centerInParent="true"/>
希望能提供帮助,
答案 2 :(得分:1)
设为RelativeLayout
而不是LinearLayout
,ListView
添加android:layout_alignParentTop="true"
,进度条添加android:layout_centerInParent="true"
答案 3 :(得分:0)
<ProgressBar
android:id="@+id/loading_spinner"
style="@style/Widget.AppCompat.ProgressBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
/>
用于线性布局
答案 4 :(得分:0)
在 ConstraintLayout
中居中的简单方法
<androidx.core.widget.ContentLoadingProgressBar
android:id="@+id/myProgress"
android:layout_width="100dp"
android:layout_height="100dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"/>