Android layout_centerHorizo​​ntal

时间:2016-03-09 14:13:59

标签: android android-layout

大家好,我正在设计一个应用程序,我想知道为什么在ScrollView中你不能在android中layout_centerHorizontal = "true"。以下是我为此目的编写的简单代码。第一个按钮没有layout_centerHorizontal = "true"功能,虽然我是手动编写的,但它并没有在中心对齐。

然而,第二个按钮位于ScrollView之外,它在父母宽度的中间完美对齐。

为什么会这样?

<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">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"/>

    </ScrollView>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"/>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

请试试这个 -

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

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    </ScrollView>

答案 1 :(得分:1)

ScrollView是一个FrameLayout,意味着您应该在其中放置一个包含要滚动的全部内容的子项;这个子本身可能是一个具有复杂对象层次结构的布局管理器。

此外,作为ScrollView的子级意味着FrameLayout,您不能使用

            android:layout_centerHorizontal="true"

如果您想在中心制作按钮,请使用

            android:layout_gravity="center_horizontal"