Ich versuche, den unteren Teil eines Bilds für die obere Ansicht wie im Bild zu verwischen.
Ich habe versucht, es mit Rendenscript zu verwischen, aber ich kann nicht nur den Teil hinter der Ansicht verwischen. : (
Ich habe viele Bibliotheken gesehen, aber fast alle verwischen das gesamte Bild, aber nicht ein Teil davon.
Ein wichtiger Teil ist auch, dass ich dies in einem ViewPager verwende und daher schnell und dynamisch sein muss, etwa dies in IOS das sich selbst neu zeichnet, sobald sich das Bild dahinter ändert.
Jede Hilfe wird geschätzt. Danke für Ihren Besuch!
Mein xml:
%Vor%Mein Code:
BlurBuilder.java
%Vor%In meiner MainActivity onCreate mache ich:
%Vor%Unten ist das Ergebnis:
Fügen Sie diese zwei Klassen Ihrer App hinzu,
1 & gt; BlurKit.Java
%Vor%2 & gt; BlurLayout.Java
%Vor%in XML-Datei:
%Vor%Vergessen Sie nicht, dies zu hinzufügen Werte & gt; attr.xml
%Vor%Dies kann in folgenden Schritten erreicht werden:
Extrahieren Sie das Hintergrundbild von LinearLayout, indem Sie Hintergrundbild beschneiden. Erweitern Sie nun die LinearLayout-Klasse.
Überschreibe OnDraw (Canvas mCanvas) -Methode.
Erstellen Sie zwei Methoden in Ihrer benutzerdefinierten LinearLayout-Klasse:
Rufen Sie zuerst die Funktion DrawBitmap auf, indem Sie den Offset, den Sie von ViewPager erhalten haben, dem Hintergrundbild zuweisen, damit sich das Bild bewegt, wenn Sie den Bildschirm überstreichen.
Zeichnen Sie abschließend die Farbe mit Ihrer Transparenzstufe
Ich hoffe, dass dies Ihr Problem lösen wird.
Beispielcode hierfür
Tags und Links android android-bitmap blur android-image blurry