lollipop kitkat descargar caracteristicas android android-5.0-lollipop

kitkat - android lollipop descargar



Cómo diseñar el DrawerArrowToggle desde la biblioteca de aplicaciones de Android v7 21 (7)

En mi caso, quería cambiar el color de la flecha del cajón y el ícono de la hamburguesa. La configuración del estilo de flecha del cajón solo cambió el color del icono de hamburguesa.

Entonces abrí el estilo Widget.AppCompat.DrawerArrowToggle en values.xml de appcompat-v7.

<style name="Widget.AppCompat.DrawerArrowToggle" parent="Base.Widget.AppCompat.DrawerArrowToggle"> <item name="color">?attr/colorControlNormal</item> </style>

Entonces creé un tema especial:

<style name="Toolbar_Theme"> <item name="colorControlNormal">@android:color/black</item> </style>

y lo apliqué a mi barra de herramientas de la siguiente manera:

<android.support.v7.widget.Toolbar android:id="@+id/toolbar" app:theme="@style/Toolbar_Theme" />

Tenga en cuenta que estoy usando el attribute theme lugar de definir controlColorNormal en el tema de mi aplicación. De esta manera, el color solo se aplicará a los elementos de la barra de herramientas, si lo configuro en el tema de la aplicación, también afectará el color de las barras de desplazamiento, etc.

El ajuste del atributo colorControlNormal cambia el color de la hamburguesa y la flecha del cajón.

Entonces, ahora que se lanzó Android 5.0, me preguntaba cómo diseñar los íconos animados de la barra de acción.

Esta biblioteca here implementa y aplica bien para mí, pero dado que la biblioteca appcompat v7 la tiene, ¿cómo se puede diseñar?

Lo implementé usando v7 DrawerToggle. Sin embargo, no puedo diseñarlo. Por favor ayuda

Encontré el estilo en v7 styles_base.xml

<style name="Base.Widget.AppCompat.DrawerArrowToggle" parent=""> <item name="color">?android:attr/textColorSecondary</item> <item name="thickness">2dp</item> <item name="barSize">18dp</item> <item name="gapBetweenBars">3dp</item> <item name="topBottomBarArrowSize">11.31dp</item> <item name="middleBarArrowSize">16dp</item> <item name="drawableSize">24dp</item> <item name="spinBars">true</item> </style>

Agregué esto a mis estilos y no funcionó. También agregado a mi attr.xml

<declare-styleable name="DrawerArrowToggle"> <!-- The drawing color for the bars --> <attr name="color" format="color"/> <!-- Whether bars should rotate or not during transition --> <attr name="spinBars" format="boolean"/> <!-- The total size of the drawable --> <attr name="drawableSize" format="dimension"/> <!-- The max gap between the bars when they are parallel to each other --> <attr name="gapBetweenBars" format="dimension"/> <!-- The size of the top and bottom bars when they merge to the middle bar to form an arrow --> <attr name="topBottomBarArrowSize" format="dimension"/> <!-- The size of the middle bar when top and bottom bars merge into middle bar to form an arrow --> <attr name="middleBarArrowSize" format="dimension"/> <!-- The size of the bars when they are parallel to each other --> <attr name="barSize" format="dimension"/> <!-- The thickness (stroke size) for the bar paint --> <attr name="thickness" format="dimension"/> </declare-styleable>

Pero se bloquea y dice error de tipo de color al hacerlo. ¿Qué me estoy perdiendo?


Lo siguiente funciona para mí:

<style name="MyTheme" parent="Theme.AppCompat"> <item name="drawerArrowStyle">@style/MyDrawerArrowToggle</item> </style> <style name="MyDrawerArrowToggle" parent="Widget.AppCompat.DrawerArrowToggle"> <item name="color">@color/your_color</item> </style>


No estoy seguro de cuál es el error exacto, si obtiene el color ya definido, vaya a attrs.xml busque attr name = "color" y renómbrelo o para comentarlo en la prueba, es posible que necesite cambiar su atributo personalizado a otro nombre, no estoy seguro este es un problema de lib de soporte, esto funciona para mí


Para cualquiera que termine aquí (como yo) buscando una forma de reemplazar el ícono del indicador del cajón con su propio dibujable (no animado) usando el v7 ActionBarDrawerToggle, puede hacer lo siguiente:

//After instantiating your ActionBarDrawerToggle mDrawerToggle.setDrawerIndicatorEnabled(false); Drawable drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.your_custom_icon, getActivity().getTheme()); mDrawerToggle.setHomeAsUpIndicator(drawable); mDrawerToggle.setToolbarNavigationClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mDrawerLayout.isDrawerVisible(GravityCompat.START)) { mDrawerLayout.closeDrawer(GravityCompat.START); } else { mDrawerLayout.openDrawer(GravityCompat.START); } } });


Para mi caso, el tema de la barra de acción fue relevante para cambiar entre un icono de hamburguesa blanco y uno oscuro:

<item name="actionBarWidgetTheme">@style/Theme.AppCompat</item>

vs.

<item name="actionBarWidgetTheme">@style/Theme.AppCompat.Light</item>


Quería hacer la hamburguesa / flecha blanca , pero nada de todas estas cosas de "estilos" me funcionó. Eliminé todo y agregué esta línea para resolverlo, como un atributo del elemento "the android.support.v7.widget.Toolbar" en el diseño :

android: theme = "@ style / ThemeOverlay.AppCompat.Dark.ActionBar


Su nombre de estilo no tiene padre Aquí está trabajando con Android 5 y Material Theme, sin necesidad de reemplazar la barra de acción con appCompat Aquí está mi estilo, solo necesitaba cambiar el color a blanco porque tenía una barra de color

<style name="myTheme.DrawerArrowToggle" parent="Base.Widget.AppCompat.DrawerArrowToggle"> <item name="color">@color/white</item> </style>

Y aquí está mi tema.

<style name="Theme_AppTheme.Light" parent="@android:style/Theme.Material.Light"> <!-- Drawer/arrow in white --> <item name="drawerArrowStyle">@style/myTheme.DrawerArrowToggle</item>

PD. solo hay un problema, en adroid 4.4 y la barra de acción normal no funciona bien. Y desafortunadamente el nre drawerToggle de v7 no hereda de v4