studio que lollipop android navigation-drawer android-5.0-lollipop

que - Cajón de navegación de estilo de diseño de Android 5.0 para KitKat



api android studio (4)

Veo que Android introdujo nuevos íconos de cajones de navegación, ícono de cajones e ícono de flecha hacia atrás. ¿Cómo podemos usar eso en las aplicaciones compatibles con Kitkat? Consulte la última versión de Google de la aplicación Kiosko, que tiene los últimos íconos y animaciones del panel de navegación. ¿Cómo podemos implementar eso?

Intenté configurar minSDK en 19 y complileSDK en 21 pero está usando los íconos antiguos. ¿Es eso auto implementado?


La respuesta ya no es útil. Dejarlo aquí solo con un propósito histórico ya que el momento de publicar Android no tuvo la implementación :)

Hay muchas bibliotecas ahora que pueden lograr esto.

Elección 1 - https://github.com/neokree/MaterialNavigationDrawer

Otros


Compatible con el comentario principal junto con el nuevo diseño main_content generado. Simplemente anulo el diseño de contenido incluido con DrawerLayout. Tenga en cuenta que su drawerlayout debe tener este layout_behavior: appbar_scrolling_view_behavior

diseño del contenedor superior https://github.com/juanmendez/jm_android_dev/blob/master/01.fragments/06.fragments_with_rx/app/src/main/res/layout/activity_recycler.xml#L17

diseño de contenido incluido https://github.com/juanmendez/jm_android_dev/blob/master/01.fragments/06.fragments_with_rx/app/src/main/res/layout/content_recycler.xml#L9



Necesita utilizar la nueva barra de herramientas en el appcompat v21 y el nuevo ActionBarDrawerToggle que también está en esta biblioteca.

Agregue la dependencia gradle a su archivo gradle:

compile ''com.android.support:appcompat-v7:21.0.0''

Su diseño activity_main.xml se vería así:

<!--I use android:fitsSystemWindows because I am changing the color of the statusbar as well--> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main_parent_view" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:fitsSystemWindows="true"> <include layout="@layout/toolbar"/> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- Main layout --> <FrameLayout android:id="@+id/main_fragment_container" android:layout_width="match_parent" android:layout_height="match_parent" /> <!-- Nav drawer --> <fragment android:id="@+id/fragment_drawer" android:name="com.example.packagename.DrawerFragment" android:layout_width="@dimen/drawer_width" android:layout_height="match_parent" android:layout_gravity="left|start" /> </android.support.v4.widget.DrawerLayout> </LinearLayout>

El diseño de su barra de herramientas se vería así:

<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" app:theme="@style/ThemeOverlay.AppCompat.ActionBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary"/>

Su actividad debe extenderse desde:

ActionBarActivity

Cuando encuentre sus vistas (cajón y barra de herramientas) en la actividad, configure la barra de herramientas como la barra de acciones de soporte y configure setDrawerListener:

setSupportActionBar(mToolbar); mDrawerToggle= new ActionBarDrawerToggle(this, mDrawerLayout,mToolbar, R.string.app_name, R.string.app_name); mDrawerLayout.setDrawerListener(mDrawerToggle);

Después de eso, solo tiene que ocuparse de los elementos del menú y del estado del cajón de Google:

@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = new MenuInflater(this); inflater.inflate(R.menu.menu_main,menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } return super.onOptionsItemSelected(item); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); mDrawerToggle.syncState(); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); mDrawerToggle.onConfigurationChanged(newConfig); } @Override public void onBackPressed() { if(mDrawerLayout.isDrawerOpen(Gravity.START|Gravity.LEFT)){ mDrawerLayout.closeDrawers(); return; } super.onBackPressed(); }

La implementación es la misma que antes de la barra de herramientas y recibe la animación de flecha de forma gratuita. Sin dolores de cabeza Para más información siga:

Si desea mostrar el cajón sobre la barra de herramientas y debajo de la barra de estado, consulte esta pregunta .

EDITAR: use NavigationView desde la biblioteca de diseño de soporte. Tutorial para aprender a usar aquí: http://antonioleiva.com/navigation-view/