Ich möchte ein Dialogfragment mit Ecken erstellen. Das Problem habe ich
Wie Sie sehen, befindet sich ein TextView im oberen Bereich, und einige Teile davon befinden sich über dem transparenten Teil des Dialogs, was schlecht ist. Dies geschieht auch mit dieser Bildlaufleiste aus der Listenansicht. Ich möchte diese Teile "schneiden" ... oder sie wie auf dem zweiten Foto maskieren. Ist das möglich?
Form
%Vor%Ich verwende ein lineares Layout für das Fragment mit dem obigen Hintergrund. Ich rufe an
%Vor%Um die Hintergrundfarbe & amp; Titelleiste.
Der einfache Weg (ohne Clipping)
Der einfachste Weg wäre, Ihrem Layout einfach einen Padding hinzuzufügen. Dann überlappt Ihr Text nicht mit den abgerundeten Ecken.
Wenn Sie abgerundete Ecken ohne Padding haben müssen, gibt es ein paar andere Optionen, die ich kenne:
Option 1: Clip-Ansichten (API 21 +)
Die Unterstützung für Clipping-Ansichten wurde der Klasse " View
" in API 21 hinzugefügt Wenn Sie keine früheren API-Level benötigen, ist es sehr einfach, diese integrierte Clip-Funktion zu verwenden:
android:clipToOutline="true"
Leider gibt es einen Fehler und dieses Attribut scheint nicht zu funktionieren. Zum Glück können wir den Ausschnitt in Java einstellen:
View.setClipToOutline(true)
Ich habe es getestet und es funktioniert:
Option 2: Neun-Patch-Rahmenmaske
Wenn Sie gerundetes Clipping auf Geräten & lt; API 21, können Sie diesen allgemeinen Ansatz verwenden:
FrameLayout
oder RelativeLayout
eine abgerundete Ecke neun -patch , um den Rest Ihres Inhalts zu "rahmen". Wenn Sie diesen Ansatz verwenden, ändern Sie einfach die Ecken Ihrer Neun-Felder mit der Farbe Ihres Hintergrunds.
Tags und Links android android-dialogfragment rounded-corners