Android: Appcompat 21 Hinzufügen von Schatten auf der Aktionsleiste
Füge ich die neuen material-design actionbar aus der neuen appcompat und ich den neuen toolbar-widget. Ich legen Sie einen benutzerdefinierten hintergrund auf der Symbolleiste auf xml, aber mein problem ist, dass der Schlagschatten von der actionbar wird nicht angezeigt. Wissen Sie, wie Sie dies tun?
Symbolleiste code
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/my_awesome_toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="@drawable/ab_background_textured"
app:theme="@style/MyTheme"
app:popupTheme="@style/MyTheme.Popup"/>
MyTheme Stil
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item>
<item name="actionMenuTextColor">@color/abc_primary_text_material_dark</item>
<item name="android:textColorSecondary">#ffff8800</item>
</style>
MyTheme.Popup-Stil
<style name="MyTheme.Popup" parent="ThemeOverlay.AppCompat.Dark">
<item name="android:textColor">#ffffff</item>
</style>
Update
Wie @Justin Powell schlug vor, dass ich hinzufügen, die actionBarStyle
auf mein Thema, aber immer noch gibt es keine Schlagschatten.
MyTheme Stil(Aktualisiert)
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item>
<item name="actionMenuTextColor">@color/abc_primary_text_material_dark</item>
<item name="android:textColorSecondary">#ffff8800</item>
<item name="android:actionBarStyle">@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse</item>
</style>
InformationsquelleAutor der Frage user3907002 | 2014-11-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Lösung in der Google IO app akzeptabel für mich, sah aber keinen blog oder Stackoverflow post vollständig zu erklären. Was Sie tun können, ist schnappen Sie sich Ihre Apache-2 lizenziert Schublade shadow-asset https://github.com/google/iosched/blob/master/android/src/main/res/drawable-xxhdpi/bottom_shadow.9.png und dann in das layout Ihrer Tätigkeit:
In der Erwägung, dass header-shadow ist
für die API-levels <21. Wie https://github.com/google/iosched/blob/master/android/src/main/res/values/refs.xml und https://github.com/google/iosched/blob/master/android/src/main/res/values-v21/refs.xml.
Und ausgearbeitet werden, hier ist toolbar.xml
InformationsquelleAutor der Antwort Fabian Frank
Pre-5.0 layouts, können Sie den Schatten zurück, um die Inhalte unterhalb der Symbolleiste durch hinzufügen
foreground="?android:windowContentOverlay"
auf den Inhalt der FrameLayout.Beispiel:
InformationsquelleAutor der Antwort Billy
Dies ist, wie ich die Schatten:
Und dann die topshadow layout sieht so aus (stellen Sie den 5dp, um die Schatten-Höhe, die Sie wollen):
background_shadow.xml
toolbar_actionbar.xml
InformationsquelleAutor der Antwort Christer Nordvik
actionbar_background.xml
hinzufügen actionbar_style hintergrund
hinzufügen Basetheme
InformationsquelleAutor der Antwort Samet öztoprak