¿Debemos reemplazar la barra de acción por ToolBar?

He estado usando la ToolBar desde que fue agregada a la biblioteca de la ayuda v7 . Y creo que lo usé bien. Pero hay un punto que no puedo entender. ¿Por qué creará Google un widget de este tipo? Quiero decir que podemos hacer cualquier cosa ToolBar puede hacer mediante el uso de ActionBar . ¿Por qué tenemos que usar ToolBar ? ¿Cuáles son las ventajas de ToolBar sobre ActionBar si las hay? ¿Es necesario reemplazar ActionBar por ToolBar ?

Cualquier sugerencia es apreciada. Y gracias de antemano.

PS: Encontré ToolBar es un decandante de ViewGroup . Entonces, ¿cómo podríamos utilizar ToolBar como un Layout ? ¿Podría alguien publicar algunos códigos de eso?

Sí, deberías reemplazar ActionBar con una nueva barra de herramientas

Razones

1) Parece moderno y sigue nuevo diseño material

2) A diferencia de la barra de acción, la barra de herramientas no forma parte de la decoración de la ventana. Lo define y lo coloca como cualquier otro widget … por lo que tiene libertad para colocarlo en cualquier parte del diseño padre.

3) Tienes libertad para poner cualquier widget dentro de la barra de herramientas.

4) Puede definir varias barras de herramientas.

EDITAR

Lo que quiero decir es que puede colocar otros widgets (vistas) dentro de la barra de herramientas.

Crear un archivo de diseño independiente para la barra de herramientas (bueno para la reutilización) .En mi caso el nombre de archivo es main_toolbar .

  <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:App="http://schemas.android.com/apk/res-auto" xmlns:segmentedgroup="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_width="match_parent" App:theme="@style/ToolbarColoredBackArrow" android:layout_height="56dp" android:background="@color/primary_color" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="@dimen/drawer_fntsize" android:text="Title" android:id="@+id/lbl_title" android:textColor="@color/title_text_color" android:layout_gravity="center" /> </android.support.v7.widget.Toolbar> 

A continuación, incluya esta barra de herramientas en su diseño principal como este

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <include android:id="@+id/toolbar" layout="@layout/main_toolbar"/> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/toolbar" /> 

Como se puede ver en este ejemplo, coloqué TextView dentro de la barra de herramientas

¿Por qué Android crearía tal widget?

Imagínese, si lo desea, una tableta Android.

Esta tableta está ejecutando una aplicación. Esa aplicación tiene, en la esquina inferior derecha de la pantalla, un editor de texto enriquecido, donde se pueden introducir algunos comentarios y darles formato con negrita , cursiva , etc.

En una aplicación de escritorio o Web, un enfoque típico para esas opciones de formato, además de los accesos directos del teclado, sería una barra de herramientas, como la que se ve por encima del área de texto de respuesta aquí en Desbordamiento de pila.

Antes de la Toolbar de Toolbar , los desarrolladores de Android tenían que rodar su propia barra de herramientas o poner las acciones de formato en la barra de acción. Mientras que el último acercamiento es fácil, pone una tensión en el usuario de la aplicación ficticia mencionada, pues el usuario tiene que seguir cambiando su foco visual del redactor (parte inferior de la pantalla) a la barra de la acción (tapa de la pantalla).

¿Por qué tenemos que usar ToolBar?

No es necesario utilizar la Toolbar . Tengo ~ 300 aplicaciones de la muestra como parte de mi libro , y por el momento, precisamente cero de ellas utilizan la Toolbar . Voy a tener que corregir eso en algún momento, ya que todavía no he escrito un capítulo en la Toolbar de Toolbar .

¿Es necesario reemplazar ActionBar por ToolBar?

No. Hay una manera de hacer esto, pero no es necesario.

La barra de herramientas es mucho más flexible que la ActionBar estándar, puedes añadir muchas más herramientas en una barra de herramientas (ya que extiende ViewGroup) y seguir las directrices de diseño de material.

Por ejemplo, con una barra de herramientas, puede hacer lo siguiente:

Mis archivos con una gran barra de herramientas

Un ActionBar regular no está destinado a ser ampliado de esta manera.

Además, puede manipular mejor el contenido de la barra de herramientas, ya que puede incluirlo en el archivo xml de su diseño de actividad. Personalmente, yo uso un LinearLayout o un RelativeLayout con en la parte superior, la barra de herramientas, y debajo, llenando el espacio sobrante, un FrameLayout donde mis Fragmentos serán agregados.

Por último, puede colocar su barra de herramientas en cualquier lugar que desee, a medida que lo establece en su archivo de diseño.

ACTUALIZAR:

Google lanzó Android Design Support Library . La forma recomendada de obtener una Appbar extendida es enrollar la Toolbar con AppBarLayout y agregar una vista adicional como TabLayout . Para obtener una FAB sobre la barra de herramientas como en esta captura de pantalla, puede utilizar CoordinatorLayout para ajustar el contenido de la disposición y, a continuación, Atributos en el FAB.

Una toolbar estándar se utiliza en el contenido de la aplicación.

Una Toolbar es una generalización de action bar de action bar para su uso en los diseños de aplicaciones. Mientras que una action bar es tradicionalmente parte de la window decor opaca de la window decor de una Activity controlada por el framework , una Toolbar puede colocarse en cualquier nivel arbitrario de anidamiento dentro de una jerarquía de vistas. Una aplicación puede optar por designar una Toolbar como action bar para una Activity mediante el método setActionBar() .

Toolbar admite un conjunto de ActionBar más centrado que ActionBar . De principio a fin, una toolbar puede contener una combinación de los siguientes elementos opcionales:

  • Un botón de navegación . Esto puede ser una Up arrow , el menú de navegación alternar, cerrar, colapsar, hecho u otro glifo de la elección de la aplicación. Este botón siempre debe usarse para acceder a otros destinos de navegación dentro del contenedor de la Toolbar de Toolbar y su contenido significativo o dejar el contexto actual que significa la Toolbar . El botón de navegación está alineado verticalmente dentro de la altura mínima de la Toolbar de Toolbar , si se establece.
  • Una imagen de logotipo de marca . Esto puede extenderse a la altura de la barra y puede ser arbitrariamente ancho.
  • Título y subtítulo . El título debe ser una señal para la posición actual de la Toolbar de Toolbar en la jerarquía de navegación y el contenido allí contenido. El subtitle , si está presente, debe indicar cualquier información extendida sobre el contenido actual. Si una aplicación utiliza una image logo , debe considerar detenidamente la omisión de un title y un subtitle .
  • Una o varias vistas personalizadas . La aplicación puede agregar vistas secundarias arbitrarias a la Toolbar . Aparecerán en esta posición dentro del diseño. Si la Toolbar de Toolbar una vista secundaria. LayoutParams indica un valor de Gravity de CENTER_HORIZONTAL la vista tratará de centrarse dentro del espacio disponible restante en la Toolbar después de que se hayan medido todos los demás elementos.
  • Un menú de acción . El menu de acciones pasará al final de la Toolbar de Toolbar ofreciendo algunas acciones frecuentes, importantes o típicas junto con un overflow menu opcional para acciones adicionales. Action botones de Action están alineados verticalmente dentro de la altura mínima de la Toolbar de Toolbar , si se establece.

En Android interfaces de usuario modernas de Android desarrolladores deberían apoyarse más en un esquema de colores visualmente distinto para las barras de herramientas que en el icono de la aplicación. El uso del icono de la aplicación más el título como un diseño estándar se desaconseja en los dispositivos API 21 y más reciente.

Una barra de herramientas es una generalización de barras de acción para su uso en los diseños de aplicaciones. Mientras que una barra de acción es tradicionalmente parte de la decoración opaca de la ventana de una actividad controlada por el marco, una barra de herramientas puede colocarse en cualquier nivel arbitrario de anidamiento dentro de una jerarquía de vistas . Una aplicación puede optar por designar una barra de herramientas como barra de acción para una actividad mediante el método setActionBar (). Puede encontrar más información aquí . Hemos reemplazado nuestra barra de acción, ya que era más fácil personalizar la barra de herramientas para el diseño del material. Paletas de colores y comportamiento de animación que desaparece por ejemplo. Personalmente, no entiendo por qué android tira antiguas controles y crear uno nuevo. Otro ejemplo sería RecyclerView. No entiendo por qué simplemente no mejoraron la API antigua.

¿Por qué tenemos que usar ToolBar ?

La barra de herramientas se utiliza para pre-dispositivos y compatibilidad de backport que la antigua biblioteca de soporte no proporciona. Recuerde ActionbarSherlock , android hecho propio para apoyar la barra de acción en los dispositivos de bajo nivel API.

¿Cuáles son las ventajas de ToolBar sobre ActionBar si las hay?

Puede agregar fácilmente vistas personalizadas en el XML de la barra de herramientas como una vista de disposición relativa, especialmente un título personalizado e iconos con animaciones. Tiene más control en su barra de herramientas que en la barra de acción convencional antigua.

¿Es necesario reemplazar ActionBar por ToolBar ?

Si va a soportar la barra de acción en dispositivos inferiores a 2,0, entonces sí, necesita una compatibilidad de back-port para la barra de acción.

  1. Puede personalizar fácilmente la barra de herramientas.
  2. Puede agregar muchos widgets dentro de la barra de herramientas.
  3. Puede agregar muchas barras de herramientas en su vista.
  4. Tiene libertad para colocarlo en cualquier parte del diseño de los padres.
  5. Tienen manejo propio / manejo de la vista de niño.

Nota : Ambos soportarán navegación general de aplicaciones, iconos y soporte retroactivo.

La respuesta depende de la interacción del usuario (barra de herramientas de animación) que sus diseños requieren. Dicho esto, debe implementar animaciones en la barra de herramientas para que sea Material.


Barra de acciones:

Si simplemente desea una barra estática en la parte superior que puede alojar iconos, botón de nuevo y puede tema.

Barra de herramientas:

Si quieres hacer algo más allá de una barra estática, como animaciones.

Una implementación común y la recomendación de diseño de Google es ocultar la barra de herramientas al desplazarse. Lista de verificación de material de diseño: ocultar la barra de aplicaciones en el desplazamiento?

La Toolbar soporte te da tanta más flexibilidad y libertad, prácticamente sin costo adicional, que no hay ninguna razón por la que pueda pensar en no hacer la transición. La transición a la nueva Toolbar es en realidad uno de los primeros pasos para transferir las aplicaciones existentes a un diseño de material más debido a la simplicidad de la tarea y al efecto inmediato que tiene en la apariencia general de la aplicación.

Aquí está el enlace de documentación – http://developer.android.com/training/appbar/setting-up.html

Tenga en cuenta que no incluye el código en el que lo incluya en los demás archivos de diseño:

 <include android:id="@+id/toolbar" layout="@layout/tool_bar"/> 

Por qué cambié a Barra de herramientas – Una de las razones por las que cambié una aplicación reciente a Barra de herramientas fue que cuando queríamos personalizar la barra de acción, no funcionaría en versiones de Android diferentes o cuando extendiéramos ciertas clases (haciéndola transparente o mostrando Un icono en lugar del nombre de la aplicación). Las barras de herramientas nos han permitido las opciones de personalización que queremos.

  • Cómo escalar la imagen en Android CollapsingToolbarLayout como WunderList hace
  • ¿Cuál es la diferencia entre la barra de acción y la recién introducida barra de herramientas?
  • CollapsingToolbarLayout falla en los dispositivos 4.4 (java.lang.IllegalArgumentException: el radio debe ser> 0)
  • Cómo cambiar los iconos de los iconos del menú de navegación y desbordamiento de la barra de herramientas (appcompat v7)?
  • La barra de herramientas no se despliega incluso después de proporcionar el indicador "app: layout_scrollFlags"
  • Esta actividad ya tiene una barra de acción suministrada por la decoración de la ventana (FEATURE_ACTION_BAR)
  • Tabla de soporte de diseño de Android Contenido solapado de superposición
  • Fragmento superpone mi barra de herramientas de AppCompat
  • Hacer clic en icono de hamburguesa en la barra de herramientas no abre Cajón de navegación
  • ¿Cómo hacer que el menú emergente de desbordamiento evite obstruir la barra de acción?
  • Creación de un botón en la barra de herramientas de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.