Android ViewPager和ViewPagerIndicator位于RelativeLayout内部,使RelativeLayout在整个屏幕上展开

Android ViewPager和ViewPagerIndicator位于RelativeLayout内部,使RelativeLayout在整个屏幕上展开,android,android-layout,android-viewpager,android-xml,viewpagerindicator,Android,Android Layout,Android Viewpager,Android Xml,Viewpagerindicator,这就是给我带来很多问题的原因: <RelativeLayout android:id="@+id/galleryLayout" android:layout_width="match_parent" android:layout_height="180dp" android:background="@color/white"> <android.support.v4.view.ViewPager andr

这就是给我带来很多问题的原因:

<RelativeLayout
    android:id="@+id/galleryLayout"
    android:layout_width="match_parent"
    android:layout_height="180dp"
    android:background="@color/white">

        <android.support.v4.view.ViewPager
            android:id="@+id/imageViewPager"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true" />

        <com.viewpagerindicator.CirclePageIndicator
            android:id="@+id/circlePageIndicator"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:padding="@dimen/padding_middle"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"/>

</RelativeLayout>

. 不过,如果有更好的解决方案,我还是会很感激的

问题2

我希望CirclePageIndicator位于其父对象(RelativeLayout)的底部,因此我添加了属性layout\u alignParentBottom=“true”,但由于这个原因,RelativeLayout将在整个屏幕上展开


所以我想要的是一个相对论,它围绕着ViewPager,它围绕着它的孩子。孩子是从网上下载的,所以我不能预先设置。在这个相对图的底部,我想要一个ViewPagerIndicator。

至于问题1您正确地解决了这个问题,
ViewPager
默认情况下不会包装其子项

至于第二个问题,这是一种正常的
相对行为。如果您将其
height
设置为
wrap\u content
,并添加两个子项,一个子项为
layout\u alignParentTop=“true”
,第二个子项为
layout\u alignParentBottom=“true”
,它们将按高度拉伸您的
布局


你应该做的是:问问自己是否真的需要
RelativeLayout
。如果你已经提供了你的整个布局,我认为没有必要使用
RelativeLayout
(代价高昂)。垂直
LinearLayout
就可以了。如果您决定确实需要
RelativeLayout
,请尝试将
指示器的
规则从
layout\u alignParentBottom=“true”
更改为
android:layout\u below=“@+id/imageViewPager”
至于问题1您正确解决了问题,默认情况下,
ViewPager
不会包装其子项

至于第二个问题,这是一种正常的
相对行为。如果您将其
height
设置为
wrap\u content
,并添加两个子项,一个子项为
layout\u alignParentTop=“true”
,第二个子项为
layout\u alignParentBottom=“true”
,它们将按高度拉伸您的
布局


你应该做的是:问问自己是否真的需要
RelativeLayout
。如果你已经提供了你的整个布局,我认为没有必要使用
RelativeLayout
(代价高昂)。垂直
LinearLayout
就可以了。如果您决定确实需要
RelativeLayout
,请尝试将
指示器的
规则从
layout\u alignParentBottom=“true”
更改为
android:layout\u below=“@+id/imageViewPager”
,谢谢您的回答。问题是我希望指示器“在”ViewPager内,而不是在其下方。因此,除了使用RelativeLayout,我看没有其他方法了。您可以始终使用
框架布局
指示器
)和
布局_gravity=“bottom”
)嗯,这是一个有趣的想法。我还没想到。我现在不能试试这个,但我一到家就去。如果有效的话,我会回敬你并接受你的回答。谢谢谢谢你的回答。问题是我希望指示器“在”ViewPager内,而不是在其下方。因此,除了使用RelativeLayout,我看没有其他方法了。您可以始终使用
框架布局
指示器
)和
布局_gravity=“bottom”
)嗯,这是一个有趣的想法。我还没想到。我现在不能试试这个,但我一到家就去。如果有效的话,我会回敬你并接受你的回答。谢谢