6

我有一张想放在屏幕中央的图像。尽管我的期望是,它水平居中但不是垂直居中。即,图像接触屏幕顶部。

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

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

4

2 回答 2

6

我只是有同样的问题。我用了

android:layout_centerInParent

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

我通过将要居中的 Layout 包装在 RelativeLayout 中并使用重力属性将其居中来修复它:

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

<RelativeLayout
    ...

这在两种设备上都有效。

于 2013-09-17T11:20:12.113 回答
0

有时此错误出现在相对布局中的约束布局使用中:

"android:layout_centerInParent="true">

于 2020-07-02T07:52:17.623 回答