2016-04-16 4 views
0

Ich verwische eine Bitmap in meiner Android-App. This Antwort war ziemlich hilfreich dafür. Das Problem ist, dass ich auf diesem Bild weißen Text verwende, der nicht sichtbar ist, wenn der Kontrast nicht gut genug ist, besonders für Bilder, die einen großen weißen oder gelben Teil haben. Ich wollte fragen, ob es einen einfachen Weg gibt, dieses Problem zu lösen, indem ich das Bild ein wenig schmutzig mache, indem ich Schwarzschattierungen hinzufüge. Spotify scheint das sehr elegant zu machen.Android: Blur Bitmap, während Text Lesbarkeit

enter image description here

Alle Tutorials, Anleitungen etc, die hilfreich sein können? Jede Hilfe wäre willkommen.

+1

Sie möglicherweise eine zweite Schicht könnte hinzufügen, die Sie zwischen dem unscharfen Bild (Hintergrund) und dem Textes (Vordergrund), wobei ein leicht transparenter Schatten schwarz platzieren würden. Dies wird das Ergebnis Ihres unscharfen Bildes "verdunkeln" und sollte Ihnen helfen, weißen Text auf jedem unscharfen Bild zu enthüllen. – NSimon

+1

Das hat den Trick gemacht, danke !! – varunkr

Antwort

1

Das Hinzufügen eines vollen Gitterstoffs auf Ihrem unscharfen Bild sollte den Trick machen.

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/some_height" 
     android:src="@drawable/placeholder"/> 

    <View 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/some_height" 
     android:background="@color/full_image_scrim"/> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center"> 

     <!-- Top layer views --> 

    </LinearLayout> 

</FrameLayout> 

color.xml

<!-- 60% opaque black (use whatever transparent color works best for you) --> 
<color name="full_image_scrim">#99000000</color> 
+0

Danke für die Antwort. Während es definitiv hilft, aber das Problem ist, dass ich andere Ansichten und Bilder über dem unscharfen Bild viel wie das Pink Floyd The Wall Albumbild in meinem geposteten Bild oben habe. Und diese Bilder und Ansichten werden ebenfalls ausgegraut. Ich brauche nur den Hintergrund, um ausgegraut zu werden. Ich werde über einen Weg nachdenken, ohne die anderen Ansichten auszublenden. Ich erhebe Ihre Antwort. Werde es akzeptieren, wenn ich erfolgreich bin. – varunkr

+0

@varunkr Verwenden Sie in Ihrer View-Hierarchie ein 'FrameLayout'? Wenn dies der Fall ist, sollten Sie in der Lage sein, Ihre Ansichten zu stapeln, so dass das Scrim 'View' nur den Gitterstoff über Ihr Hintergrundbild wirft. Ich habe meine Antwort aktualisiert, um ein Beispiel dafür zu geben, wie Ihr Layout aussehen könnte. – Ryan

+0

Ich war in der Lage, das Problem zu lösen, aber ich tat dies programmgesteuert, da es in meinem Fall einfacher war, erforderte weniger Änderungen .. Ich tat es, indem ich ein Bitmap über einem anderen wie im Kommentar vorgeschlagen. Aber deine Antwort löst auch das Problem, also akzeptiere ich es. Vielen Dank !! – varunkr