centerHorizo​​ntal在相对布局中不起作用,屏幕旋转是横向的

时间:2013-08-24 08:35:32

标签: android android-layout

为什么android:layout_centerHorizo​​ntal =“true”在顶层相对布局中无法正常工作但在子代码处于代码中,是否有效?

我的外部布局是相对的,其他代码如下。 屏幕方向是一个因素吗?

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="@dimen/twenty" >

    <ImageView
        android:id="@+id/wait_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:background="@drawable/text_waitingforplayers" />

    <ImageView
        android:id="@+id/text_baught"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/wait_text"
        android:background="@drawable/text_youhavebought" />

    <TextView
        android:id="@+id/used_bingo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/wait_text"
        android:layout_toRightOf="@id/text_baught"
        android:text="1333" />

    <ImageView
        android:id="@+id/bingo_cards"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/wait_text"
        android:layout_toRightOf="@id/used_bingo"
        android:background="@drawable/text_bingocards" />

    <ImageView
        android:id="@+id/ballas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/bingo_cards"
        android:background="@drawable/balls" />

    <ImageView
        android:id="@+id/login_claim"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/ballas"
        android:background="@drawable/text_logintoclaim" />
</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

尝试为内部相对布局提供android:layout_centerHorizontal="true"

如果我们设计正确,屏幕方向也不是一个因素。

答案 1 :(得分:0)

一切都与层次结构有关。当您在任何视图上设置 android:layout_centerHorizo​​ntal =“true”时,这意味着您将该视图设置为在其父级获取的水平空间中居中。如果你想在父视图上设置 android:layout_centerHorizo​​ntal =“true”,它的所有子项将居中,所以你必须使其高度宽度 ** wrap_content **。但是为此,您必须创建该相对布局的另一个父视图。