Estilo de ActionBar tras actualizar a Android lollipop
Estaba desarrollando ActionBar personalizado al seleccionar API19 ayer hoy he actualizado las bibliotecas de soporte y el proyecto a API21 con me causa en el problema. En mi barra de acciones hay un botón de menú a flecha con el que no necesito y el estilo de los cambios en la barra de acción.
Antes de la actualización:
- Comportamiento extraño en el diseño de mi ActionBarActivity
- Ocultar barra de acciones en una actividad de fragmentos
- Error en startActionMode, appcompat
- Múltiples problemas con la prueba Robolectric y ActionBarActivity
- Configurar OnClick Listener en el título de la barra de acción en Android
Después de la actualización:
A continuación se muestra el archivo 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 de 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); }
¿Alguna solución para restaurar la barra de acción como antes usar el SDK más reciente?
Actualización: Puedo quitar la flecha de la barra de acción eliminando ActionBarDrawerToggle de todas partes en mi Drawerfragment.
Ahora estoy enfrentando sólo estilo cuestión de barra de acción. Acolchado a la izquierda y color de fondo de Actionabr
- Android: SlidingMenu y ActionBarActivity
- ActionBarActivity: no se puede resolver con un tipo
- Android superior Copiar / Pegar barra de herramientas
- ActionBar no muestra la barra de progreso
- La aplicación se bloquea al extender ActionBarActivity
- ¿Cuál es la mejora de AppCompatActivity sobre ActionBarActivity?
- GetSupportActionBar (). SetCustomView (vista) no llena toda la barra de acciones
- Cambiar Icono Del Cajón De Navegación
Si sólo desea que el color que debe definir como primaryColor en su tema. Parece un montón de cosas que tienes allí para poner simplemente un tono en el ActionBar.
<style name="Theme.MyTheme" parent="Theme.AppCompat"> <item name="colorPrimary">@color/primary</item> </style> <color name="primary">#ff5722</color>
La flecha a la que se está refiriendo es getSupportActionBar().setDisplayHomeAsUpEnabled(true|false);
Y ya no necesita (no debe) utilizar su propio icono de cajón como se incluye en appcompat v7. ( mDrawerToggle.setDrawerIndicatorEnabled(true);
)
Esto ya ha sido resuelto aquí Android Lollipop, AppCompat ActionBar vista personalizada no ocupa toda la anchura de la pantalla .
He probado la solución y funciona, aunque tendrá que estilo de la barra de herramientas de nuevo