2

我有一个奇怪的问题,我的一个 TextViews 中的文本不会与它旁边的 ImageView 正确对齐。奇怪的是,在平板电脑上,没有问题,但在手机上,文本不会垂直居中。此问题的平板电脑和手机的 xml 完全相同,我将平板电脑布局 xml 代码复制并粘贴到手机布局 xml 中:

<TextView
 android:id="@+id/newTaskTV"
 style="@style/blueTextMediumBold"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignBottom="@+id/newTaskIV"
 android:layout_alignTop="@+id/newTaskIV"
 android:layout_toLeftOf="@+id/newTaskIV"
 android:background="@drawable/domacare_blue_button_selector"
 android:gravity="center_vertical"
 android:paddingLeft="15dp"
 android:paddingRight="15dp"
 android:text="@string/add_task"
 android:textColor="@color/white" />

<ImageView
 android:id="@+id/newTaskIV"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentRight="true"
 android:background="@drawable/blue_button_selector"
 android:padding="5dp"
 android:src="@drawable/ic_add_white" />

平板电脑上的结果:

平板电脑图像

手机上的结果:

手机图片

(下面的线是自定义视图,不应该相关,因为它在这两个视图下方对齐。)

我尝试将它们包装在 LinearLayout 中,但这并没有改变任何东西。出于某种原因,文本无论如何都不想去中心。更糟糕的是,Eclipse 在取笑我,因为它的布局预览是正确的,但最终结果却不是。

日食图像

4

2 回答 2

0

TextView应该在ImageView. 据我所知,RelativeLayout需要在属性中引用的视图,例如android:layout_alignBottom="@+id/newTaskIV"之前定义的(=上面)。

显然这不再适用,因为它适用于您的平板电脑,所以我想知道它是否可能来自您手机上的旧操作系统版本。

于 2013-10-24T14:38:40.943 回答
0

嘿,如果您不想在两者上分别处理事件,您可以使用带有图像的文本视图..

<TextView android:id="@+id/newTaskTV" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/add_task" android:drawableRight="@drawable/image" android:drawablePadding="5dp" android:singleLine="true"/>

于 2015-05-10T12:46:33.090 回答