我确信之前已经回答了这个问题,但我一直在搜索,无法找到解决我确切问题的答案,这是:
我在ImageView设置之上有一个TextView,如下所示:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageForCustomAdapter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/my_ball_3" />
<TextView
android:id="@+id/textOnBall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="1dp"
android:textColor="#000000"
android:textSize="50dp"
android:hint="10"
android:layout_alignParentBottom="false"
android:layout_centerInParent="true"
android:layout_alignTop="@+id/imageForCustomAdapter"
android:layout_alignLeft="@+id/imageForCustomAdapter"
android:layout_alignBottom="@+id/imageForCustomAdapter"
android:layout_alignRight="@+id/imageForCustomAdapter"
android:gravity="center" />
</RelativeLayout>
TextView与ImageView对齐,使其大小相同,我希望文本在水平和垂直方向都居中。
Android Studio中的渲染显示它正确居中This Pic Shows That
但是当我真正在真实设备上运行应用程序时,文本只能水平居中。我已经尝试了android:gravity=
的所有不同组合,但没有任何接缝可以工作。
我做错了什么?
答案 0 :(得分:0)
我在前言中说我真的不喜欢RelativeLayout,这是一个很好的例子。它功能强大,但可能会让人感到困惑,简单也很重要。
您已经许多布局指令很容易相互冲突。尝试类似:
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/imageForCustomAdapter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/my_ball_3" />
<TextView
android:id="@+id/textOnBall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="50dp"
android:hint="10"
android:layout_gravity="center" />
</FrameLayout>
&#39; wrap_content&#39;在FrameLayout上很重要,顺便说一句。假设ImageView总是比TextView大,它将驱动父高度。如果TextView可能更大,请确保也将ImageView居中。
为什么它在工作室而不是在现实生活中工作,不知道。