android:layout_centerInParent不起作用

时间:2013-04-25 08:13:07

标签: android relativelayout

我想要将图像放在屏幕中央。尽管我的期望,它是水平居中但不是垂直居中。也就是说,图像触摸屏幕顶部。

相同的布局在沙箱项目中显示正常,但遗憾的是不是真实的。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    <!-- ... -->
        <RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            >
            <ImageView
                android:id="@+id/progress2"
                android:src="@drawable/wait2"
                android:layout_centerInParent="true"
               android:layout_centerHorizontal="true"
               android:layout_centerVertical="true"
                android:visibility="visible"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                />
        </RelativeLayout>

               android:layout_centerHorizontal="true"
               android:layout_centerVertical="true"

当然是不必要的,但在任何一种情况下都不起作用。

欢迎任何建议。

编辑:看起来与InputMethodService显示视图相关。

2 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。我用了

android:layout_centerInParent

它适用于AndroidStudio预览和带有4.3设备的Nexus 4。但是在使用2.3的Galaxy S1上它没有用。

我通过包裹我想要在RelativeLayout中心的布局来修复它,并使用gravity属性居中:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

<RelativeLayout
    ...

这适用于两种设备。

答案 1 :(得分:0)

有时此错误来自约束布局 在RelativeLayout中使用:

“ android:layout_centerInParent =” true“>