Android 水平对齐ViewPager中的元素

Android 水平对齐ViewPager中的元素,android,android-layout,android-viewpager,scrollview,android-relativelayout,Android,Android Layout,Android Viewpager,Scrollview,Android Relativelayout,所以我的问题是。。。我有一个相对论,它有三个主要元素。一列,左侧有两个按钮,右侧有一个按钮,中间有一个ScrollView布局,其中包含一个ViewPager和一个按钮 按钮与其父按钮对齐得很好。但我无法使ViewPager自动对齐 这是我的XML布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:l

所以我的问题是。。。我有一个相对论,它有三个主要元素。一列,左侧有两个按钮,右侧有一个按钮,中间有一个ScrollView布局,其中包含一个ViewPager和一个按钮

按钮与其父按钮对齐得很好。但我无法使ViewPager自动对齐

这是我的XML布局

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

<LinearLayout
    android:id="@+id/leftButtons"
    android:weightSum="1"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_marginLeft="10dip"
    android:orientation="vertical"
    android:layout_alignParentStart="true"
    >

    <Space
        android:layout_weight="0.5"
        android:layout_width="match_parent"
        android:layout_height="0dip" />
    <ImageButton
        android:id="@+id/leftArrowBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:contentDescription="@string/left_arrow"
        android:gravity="center_vertical|center_horizontal"
        android:src="@drawable/arrow_left_selector"
        android:layout_marginBottom="60dip"
        />

    <ImageButton
        android:id="@+id/leftArrowBtnAll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:contentDescription="@string/left_arrow"
        android:gravity="center_vertical|center_horizontal"
        android:src="@drawable/arrow_left_selector_all" />
</LinearLayout>

<ScrollView
    android:id="@+id/middleLayouts"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:layout_toRightOf="@+id/leftButtons"
    android:layout_toLeftOf="@+id/rightButtons"
    >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingTop="35dip"
        android:gravity="center_horizontal"
        >

        <Button
            android:id="@+id/selectDate"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dip"
            android:background="@drawable/default_button_rounded"
            android:drawablePadding="35dip"
            android:drawableRight="@drawable/ic_date_light"
            android:gravity="center_vertical|center_horizontal"
            android:paddingBottom="5dip"
            android:paddingLeft="25dip"
            android:paddingRight="25dip"
            android:paddingTop="5dip"
            android:text="@string/monthly_statistics_"
            android:textColor="@color/light_bg" />

        <android.support.v4.view.ViewPager
            android:id="@+id/view_pager"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_horizontal"
        />
    </LinearLayout>
</ScrollView>

<LinearLayout
    android:id="@+id/rightButtons"
    android:weightSum="1"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_marginRight="10dip"
    android:orientation="vertical"
    android:layout_alignParentEnd="true"
    >
    <Space
        android:layout_weight="0.5"
        android:layout_width="match_parent"
        android:layout_height="0dip" />
    <ImageButton
        android:id="@+id/rightArrowbtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:contentDescription="@string/right_arrow"
        android:gravity="center_vertical|center_horizontal"
        android:src="@drawable/arrow_right_selector"
        android:layout_marginBottom="60dip"
        />

    <ImageButton
        android:id="@+id/rightArrowbtnAll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/transparent"
        android:contentDescription="@string/right_arrow"
        android:gravity="center_vertical|center_horizontal"
        android:src="@drawable/arrow_right_selector_all" />
</LinearLayout>

这里是一个屏幕截图如何看。。。

这里是布局编辑器的屏幕截图,它告诉我表格应该对齐

我尝试过各种布局和重力等等。。但我不能把它放在中间(

谢谢


在我看来,滚动视图中的线性布局的宽度应该是match\u parent,而不是wrap\u content

<ScrollView
    android:id="@+id/middleLayouts"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:layout_toRightOf="@+id/leftButtons"
    android:layout_toLeftOf="@+id/rightButtons"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingTop="35dip"
        android:gravity="center_horizontal"
        >


我终于找到了答案。我的问题是我使用了
表格布局来创建表格,
表格布局将其宽度设置为始终
匹配父项。因此,表格布局使用了整个宽度,而不是居中。我从
表格布局切换为
线性布局您可以使用垂直
表格行
进行打印,现在效果很好。

我在这里发布之前尝试了所有类型的宽度和包装内容。所以那不是我的问题。我用发生的事情回答了我的问题。谢谢你