TextView重力无法在API 18或更高版本上运行

Ion*_*gru 2 api android gravity textview

我有一个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" />
Run Code Online (Sandbox Code Playgroud)

重力在4.2.2或更低的情况下正常工作但在4.3及更高版本上无效...它只能部分工作,它只是居中但只是垂直.

在API 4.1.2上 在API 4.3上 LE:

这个问题没有解决办法吗?或者有人知道为什么会这样吗?

Tom*_*mty 6

这似乎是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>
Run Code Online (Sandbox Code Playgroud)