6

Stavo sviluppando ActionBar personalizzato selezionando API19 ieri oggi ho aggiornato le librerie di supporto e il progetto su API21 con causa di problemi. Nella mia barra delle azioni c'è un pulsante da menu a freccia con non ho bisogno e lo stile delle modifiche alla barra delle azioni.ActionBar styling dopo l'aggiornamento a Android lollipop

Prima di aggiornamento: enter image description here

dopo l'aggiornamento: enter image description here

seguito è lo 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 da 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); 
} 

Qualsiasi Solut ion per ripristinare la barra delle azioni come in precedenza utilizzando l'ultimo SDK?

Aggiornamento: Sono in grado di rimuovere la freccia dalla barra delle azioni eliminando ActionBarDrawerToggle da ovunque nel mio Drawerfragment.

enter image description here

Ora sto affrontando solo styling questione della ActionBar. Imbottitura a sinistra e colore di sfondo di Actionabr

+0

ActionBar è ormai ammortizzato in Lollipop e avere bug. Risolto usando il widget Toolbar. –

+0

Dove hai ottenuto informazioni è deprecato (e ha dei bachi :))? Toolbar è il modo preferito di fare le cose in L, ma ActionBar non è sicuramente deprecato .. –

+0

ActionBar nella libreria di supporto v4 è deprecato, utilizzare invece v7. – Tapirboy

risposta

5

Se si desidera solo il colore, è necessario definirlo come PrimaryColor nel tema. Sembra che ci sia un sacco di cose che hai ottenuto per mettere semplicemente una sfumatura sull'ActionBar.

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

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

La freccia si fa riferimento è getSupportActionBar().setDisplayHomeAsUpEnabled(true|false); e non più necessari (non dovrebbe) utilizzare la propria icona del cassetto in quanto è incluso in appcompat v7. (mDrawerToggle.setDrawerIndicatorEnabled(true);)

+0

Questo non riguarda il problema del colore. questo è il problema del padding. –

Problemi correlati