2016-07-27 25 views
0

Android ViewOverlay ermöglicht einfache Überlagerung von Drawable s über ein konventionelles View-Element, ohne das Layout zu stören, aber es ist nur seit API 18 verfügbar (und soweit ich sehen kann, gibt es keine Kompatibilitätsebene, die dies zurückportiert).Gibt es eine Alternative zu Android ViewOverlay?

Was wäre die einfachste Alternative für eine ältere API-Ebene (speziell: 15), um ein Drawable über ein Ansichtselement zu legen, ohne das Layout zu ändern? In meinem Fall würde es ausreichen, mit einer einzigen Drawable umzugehen; Ich muss die Unterstützung für mehrere Drawable s nicht replizieren, die die neue Überlagerungs-API ermöglicht.

Antwort

2

Haben Sie das Vordergrundattribut FrameLayout versucht?
FrameLayout der Vordergrund ist über seinen Inhalt gezeichnet. Und das funktioniert mit API-Ebene 15.

In Ihrem xml:

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

    ... 
    Your contents. 
    ... 

</FrameLayout> 

Oder in Ihrem Quellcode:

frameLayout.setForeground(drawable);