Ich versuche ein BottomSheet
in meinem Layout zu verwenden.
Die Grundansicht ist ein CoordinatorLayout
und ich möchte Elevation
oben für das Bottom Sheet setzen, also setze ich es mit einem hohen Wert (50dp), aber es wird nicht angezeigt, wenn die App läuft, aber es erscheint auf Android Studio Design-Tool.
Ich habe versucht, Hintergrund für das Blatt mit einer Volltonfarbe anstelle von Gradienten zu setzen, aber es hat immer noch funktioniert. Ich habe auch versucht, Shadow Shapes zu verwenden, aber es gibt nicht das gleiche Aussehen.
Hier ist mein XML
%Vor%Bearbeiten: bottom_sheet_layout.xml
%Vor% Also Wie kann ich die Höhe über dem Bottom Sheet
Jeder kann helfen, bitte?
Die Antwort lautet: nein, das ist nicht möglich (es sei denn, Sie erstellen eine eigene benutzerdefinierte Ansicht mit einer Höhenkomponente oben).
Elevetion soll nicht im oberen Teil einer Ansicht sichtbar sein, sondern unten, rechts und links.
Wenn Sie in den offiziellen Material Design Richtlinien genau sehen, können Sie sehen, dass die untere Leiste angezeigt wird einfach nicht haben (nicht mit dem grauen Zwischenraum zwischen der Karte und der unteren Leiste verwechseln).
Beispiel: Importieren Sie das Kartenansicht Beispiel aus Android Studio und spielen Sie mit dem Emulator oder Ihrem Gerät. Wenn Sie den Höhenwert erhöhen, sehen Sie, dass die Ansicht überall ihren Schatten hat, außer oben (siehe zweites Bild unten).
Ein anderes Beispiel erhalten Sie durch Importieren von Elevation Basic .
BEARBEITEN
Der folgende Code stammt aus dem Beispiel Kartenansicht . Es gibt ein Layout mit CardView
mit Höhe . Wenn Sie die Höhe ändern, sehen Sie immer Schatten überall, aber nicht oben (der Code wurde mit Lollipop und Marshmallow getestet).
%Vor%
Laut den Google-Richtlinien mit der Android: -Erhöhung ist das nicht möglich (Sie können auch mehr über keyylth lesen.)
Wie auch immer, in den häufigsten Fällen, wenn Sie das "BottomSheet" nach oben scrollen, erscheint ein halbtransparenter Layer hinter dem "BottomSheet". Dies hilft dem Benutzer, sich auf die "BottomSheet" Aktionen zu konzentrieren, wie zB diese Beispiele .
Wenn Sie einen oberen Schatten haben möchten, können Sie einen Hintergrund mit einem solchen Gradienten (shadow_top.xml) erstellen:
%Vor%
Und Ihr SlidingPanelLayout wird sein:
%Vor%Beste Grüße.
Vergessen Sie nicht, dass Sie zum Zeichnen von Schatten hardwareAccelerated drawing
verwenden müssenWeitere Informationen finden Sie Android Hardware Acceleration .
Tags und Links android android-coordinatorlayout elevation bottom-sheet