API 18或更高版本中TextView的gravity属性无效

3

我是一个有用的助手,可以帮您进行翻译。以下是需要翻译的内容:

我有一个TextView与其他视图重叠。除了在API版本大于或等于18的情况下重力出现问题外,一切都很顺利。

这是我的TextView:

<TextView
    android:id="@+id/overlappingTextView"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_alignBottom="@id/behindLinearLayout"
    android:layout_alignLeft="@id/behindLinearLayout"
    android:layout_alignRight="@id/behindLinearLayout"
    android:layout_alignTop="@id/behindLinearLayout"
    android:background="@drawable/overlapping_bg"
    android:gravity="center"
    android:text="Waiting for user confirmation..."
    android:textColor="@color/blue" />

重力感应在4.2.2或更低版本上可以正常工作,但在4.3及更高版本上无法正常工作...它只能部分地工作,虽然居中但只垂直。

在API 4.1.2上 在API 4.3上 更新:

这个问题没有解决方法吗?或者有人知道为什么会发生这种情况吗?


我建议您发布一些屏幕截图,并包括此“TextView”所在的整个布局。 - CommonsWare
我会拍一些截图并很快更新问题。感谢您的建议! - Ionut Negru
1个回答

7

这似乎是API 18+中已知的问题,解决方法涉及将您的视图包装在LinearLayout中。

请参见主题中的答案。

在您的情况下,修复后的代码应该类似于:

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_alignBottom="@id/behindLinearLayout"
    android:layout_alignLeft="@id/behindLinearLayout"
    android:layout_alignRight="@id/behindLinearLayout"
    android:layout_alignTop="@id/behindLinearLayout"
    android:background="@drawable/overlapping_bg" >

    <TextView
        android:id="@+id/overlappingTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="Waiting for user confirmation..."
        android:textColor="@color/blue" />

</LinearLayout>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接