Android 的 ViewOverlay 有替代方案吗?

Is there an alternative to Android's ViewOverlay?

Android 的 ViewOverlay 允许在传统视图元素上轻松覆盖 Drawable,而不必干扰布局,但它仅在 API 18(据我所知,没有兼容层,它向后移植)。

对于较旧的 API 级别(特别是:15),在不修改布局的情况下将 Drawable 覆盖在视图元素上的最简单替代方法是什么?就我而言,处理一个 Drawable; 就足够了。我不需要复制对新覆盖 API 允许的多个 Drawable 的支持。

你试过FrameLayout的前景属性了吗?
FrameLayout 的前景被绘制在其内容之上。这适用于 API 级别 15。

在你的 xml:

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:foreground="@drawable/your_drawable">

    ...
    Your contents.
    ...

</FrameLayout>

或者在您的源代码中:

frameLayout.setForeground(drawable);