尽管滚动,如何使ProgressBar保持在屏幕的中心

时间:2014-12-15 02:27:37

标签: android vertical-alignment

我在ScrollView中有一个ProgressBar,尽管用户向下或向上滚动,我还是希望它保持垂直居中。但是,我不知道如何做到这一点。

这是我拥有的代码,很简单。我有一个不确定的ProgressBar:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/ocr_scroll_view"
android:layout_width="match_parent"
android:layout_height="fill_parent">

    <RelativeLayout android:id="@+id/image_holder"
    android:layout_gravity="end"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

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

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

我称之为:

    spinningProgressBar = (ProgressBar)findViewById(R.id.progressBar1);
    spinningProgressBar.setIndeterminate(true);
    spinningProgressBar.setVisibility(View.GONE);

在适当的时间设置其可见性。

非常感谢所有建议。

3 个答案:

答案 0 :(得分:3)

将它放在ScrollView之外。只是让ScrollView和ProgressBar重叠。

您可以在此处阅读有关如何重叠视图的信息:Overlapping Views in Android

有几种方法可以做到这一点,从GridLayouts到RelativeLayouts,然后是编程方式。

答案 1 :(得分:3)

您需要ScrollView与Layout中的ProgressDialog处于同一级别。

这是概念:

<RelativeLayout>
    <ProgressDialog>      
    <ScrollView>      
<RelativeLayout>

答案 2 :(得分:0)

您可以将其插入scrollview标签

android:fillViewport="true"