ActionBar-styling nach der Aktualisierung auf Android lollipop
War ich bei der Entwicklung von custom ActionBar indem Sie API19 gestern habe ich heute aktualisiert-support-Bibliotheken und Projekt API21 mit dazu, mich in problem. In meiner actionbar gibt es ein Menü-auf-Taste mit, die ich nicht brauche und Stil der actionbar änderungen.
Vor dem update:
Nach Der Aktualisierung:
Folgenden ist die style.xml
<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
<!-- Base application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:buttonStyle">@style/ButtonAppTheme</item>
<item name="actionBarItemBackground">@drawable/selectable_background_apptheme</item>
<item name="popupMenuStyle">@style/PopupMenu.Apptheme</item>
<item name="dropDownListViewStyle">@style/DropDownListView.Apptheme</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Apptheme</item>
<item name="actionDropDownStyle">@style/DropDownNav.Apptheme</item>
<item name="actionBarStyle">@style/ActionBar.Solid.Apptheme</item>
<item name="actionModeBackground">@drawable/cab_background_top_apptheme</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_apptheme</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Apptheme</item>
<!-- Light.DarkActionBar specific -->
<item name="actionBarWidgetTheme">@style/Theme.Apptheme.Widget</item>
</style>
<!-- Base application theme for Full screen Activities -->
<style name="AppThemeFullScreen" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
<item name="android:buttonStyle">@style/ButtonAppTheme</item>
</style>
<!-- Button Style -->
<style name="ButtonAppTheme" parent="android:Widget.Button">
<item name="android:background">@drawable/btn_background</item>
<item name="android:minHeight">48dip</item>
<item name="android:minWidth">64dip</item>
<item name="android:textColor">@color/btn_text_color_default</item>
</style>
<style name="ActionBar.Solid.Apptheme" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@drawable/ab_solid_apptheme</item>
<item name="backgroundStacked">@drawable/ab_stacked_solid_apptheme</item>
<item name="backgroundSplit">@drawable/ab_bottom_solid_apptheme</item>
<item name="progressBarStyle">@style/ProgressBar.Apptheme</item>
</style>
<style name="ActionBar.Transparent.Apptheme" parent="@style/Widget.AppCompat.ActionBar">
<item name="background">@drawable/ab_transparent_apptheme</item>
<item name="progressBarStyle">@style/ProgressBar.Apptheme</item>
</style>
<style name="PopupMenu.Apptheme" parent="@style/Widget.AppCompat.PopupMenu">
<item name="android:popupBackground">@drawable/menu_dropdown_panel_apptheme</item>
</style>
<style name="DropDownListView.Apptheme" parent="@style/Widget.AppCompat.ListView.DropDown">
<item name="android:listSelector">@drawable/selectable_background_apptheme</item>
</style>
<style name="ActionBarTabStyle.Apptheme" parent="@style/Widget.AppCompat.ActionBar.TabView">
<item name="android:background">@drawable/tab_indicator_ab_apptheme</item>
</style>
<style name="DropDownNav.Apptheme" parent="@style/Widget.AppCompat.Spinner.DropDown.ActionBar">
<item name="android:background">@drawable/spinner_background_ab_apptheme</item>
<item name="android:popupBackground">@drawable/menu_dropdown_panel_apptheme</item>
<item name="android:dropDownSelector">@drawable/selectable_background_apptheme</item>
</style>
<style name="ProgressBar.Apptheme" parent="@style/Widget.AppCompat.ProgressBar.Horizontal">
<item name="android:progressDrawable">@drawable/progress_horizontal_apptheme</item>
</style>
<style name="ActionButton.CloseMode.Apptheme" parent="@style/Widget.AppCompat.ActionButton.CloseMode">
<item name="android:background">@drawable/btn_cab_done_apptheme</item>
</style>
<!-- this style is only referenced in a Light.DarkActionBar based theme -->
<style name="Theme.Apptheme.Widget" parent="@style/Theme.AppCompat">
<item name="popupMenuStyle">@style/PopupMenu.Apptheme</item>
<item name="dropDownListViewStyle">@style/DropDownListView.Apptheme</item>
</style>
</resources>
onCreate von MainActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNavigationDrawerFragment = (NavigationDrawerFragment)
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
//mTitle = getTitle();
//Set up the drawer.
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout));
actionBar = getSupportActionBar();
//Toolbar toolbar =(Toolbar) findViewById(R.id.toolbar);
//setSupportActionBar(toolbar);
LayoutInflater mInflater = LayoutInflater.from(this);
LayoutParams layout = new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
View mCustomView = mInflater.inflate(R.layout.actionbar, null);
actionBar.setCustomView(mCustomView,layout);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDefaultDisplayHomeAsUpEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
}
Jede Lösung für die Wiederherstellung actionbar-wie zuvor benutzen die neusten SDK?
Update: ich bin in der Lage zu entfernen Pfeil aus actionbar durch löschen ActionBarDrawerToggle von überall in meinem Drawerfragment.
Jetzt bin ich vor nur das styling Problem der actionbar. Polsterung auf Links und hintergrund-Farbe der Actionabr
- ActionBar ist jetzt abgeschrieben Lollipop und haben bugs. Gelöst durch die Verwendung von Toolbar-widget.
- Wo haben Sie Informationen erhalten, ist es veraltet (und bugs :))? Symbolleiste ist die bevorzugte Art, Dinge zu tun, die in L, aber die ActionBar ist definitiv nicht veraltet..
- ActionBar-in support library v4 ist veraltet, verwenden v7 statt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen einfach nur die Farbe definieren Sie ihn als primaryColor in Ihrem Thema. Es sieht aus wie eine Menge Dinge, die Sie dort bekam, um setzen Sie einfach einen Farbton auf der ActionBar.
Den Pfeil auf die Sie sich beziehen, ist
getSupportActionBar().setDisplayHomeAsUpEnabled(true|false);
und Sie nicht mehr brauchen (sollen) nicht verwenden Sie Ihre eigenen Schublade Symbol, wie es enthalten ist in appcompat v7. (mDrawerToggle.setDrawerIndicatorEnabled(true);
)Diese wurde bereits gelöst im hier Android Lollipop, AppCompat ActionBar benutzerdefinierte Ansicht und nimmt nicht den ganzen Bildschirm Breite.
Ich die Lösung getestet und funktioniert, aber Sie müssen Stil der Symbolleiste wieder