当ViewPager的页面大于屏幕时,如何在屏幕上居中显示?

时间:2015-10-13 09:18:38

标签: android android-layout android-viewpager centering

我有一个ViewPager(标准的)放在ScrollView中(如果页面会比屏幕更大。在每个页面上我有一个Spinner(进度条)用于显示数据加载。Spinner以页面为中心。

但是当页面较大时,屏幕Spinner不会居中在屏幕上,因为它位于页面中心,Spinner位于屏幕底部(甚至隐藏在屏幕下方)。

那么如何设置Spinner以屏幕为中心(不在页面上)?

更新: Spinner必须位于viewpager的页面上,因为每个页面都必须加载一些数据表格服务器,并且微调器指示每个页面的加载过程分开。

这里是寻呼机的位置:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"
    android:orientation="horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@android:color/white" />
</LinearLayout>

这是一个页面布局:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerInParent="true">

    <GridView
        android:id="@+id/my_gird"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="72dp"/>

    <TextView
        android:id="@+id/test_text"
        android:visibility="gone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="!!!!!!" />

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

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

您可以将微调器添加到ViewPager活动

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <ScrollView 
        android:layout_width="match_parent"
        android:layout_height="match_parent">

            <LinearLayout 
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@android:color/white"
                android:orientation="horizontal">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"/>

                <android.support.v4.view.ViewPager
                    android:id="@+id/viewpager"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="@android:color/white" />
            </LinearLayout>
        </ScrollView>
         <ProgressBar
            android:id="@+id/progressBar"
            style="?android:attr/progressBarStyleLarge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
        /> 
    </RealativeLayout>

希望这个帮助