我在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);
在适当的时间设置其可见性。
非常感谢所有建议。
答案 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"