我想要将图像放在屏幕中央。尽管我的期望,它是水平居中但不是垂直居中。也就是说,图像触摸屏幕顶部。
相同的布局在沙箱项目中显示正常,但遗憾的是不是真实的。
<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
显示视图相关。
答案 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“>