6

Ich entwickelte benutzerdefinierte ActionBar durch Auswahl von API19 gestern heute aktualisiert ich Support-Bibliotheken und Projekt API21 mit Ursache mich in Problem. In meiner Aktionsleiste gibt es einen Menü-zu-Pfeil-Button mit dem ich nicht brauche und Stil der Aktionsleiste ändert.ActionBar Styling nach dem Update auf Android Lollipop

Vor Update: enter image description here

Nach Update: enter image description here

Folgende 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); 
} 

Alle Solut Wiederherstellung der Aktionsbalken wie zuvor mit dem neuesten SDK?

Update: Ich kann den Pfeil aus der Aktionsleiste entfernen, indem ich ActionBarDrawerToggle von überall in meinem Drawerfragment lösche.

enter image description here

Jetzt bin vor mir nur Frage der ActionBar Styling. Polsterung links und Hintergrundfarbe von Actionabr

+0

ActionBar in Lollipop abgeschrieben und haben Fehler. Gelöst mit dem Toolbar-Widget. –

+0

Wo haben Sie Informationen erhalten, ist es veraltet (und haben Fehler :))? Toolbar ist die bevorzugte Vorgehensweise in L, aber ActionBar ist definitiv nicht veraltet. –

+0

ActionBar in Support-Bibliothek v4 ist veraltet, verwenden Sie stattdessen v7. – Tapirboy

Antwort

5

Wenn Sie nur die Farbe möchten, sollten Sie es als primaryColor in Ihrem Thema definieren. Es sieht nach einer Menge Sachen aus, die du da hast, um die ActionBar einfach in einen Farbton zu verwandeln.

<style name="Theme.MyTheme" parent="Theme.AppCompat"> 
    <item name="colorPrimary">@color/primary</item> 
</style> 

<color name="primary">#ff5722</color> 

Der Pfeil Sie sich beziehen ist getSupportActionBar().setDisplayHomeAsUpEnabled(true|false); und Sie nicht mehr benötigen (nicht) Ihre eigene Schublade Symbol verwenden, wie es in AppCompat v7 enthalten. (mDrawerToggle.setDrawerIndicatorEnabled(true);)

+0

Hier geht es nicht um Farbprobleme. Dies ist ein Problem mit dem Auffüllen. –