Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Uso del cajón de navegación sin TitleBar o ActionBar

Estoy agregando un cajón de navegación a esta aplicación que estoy desarrollando y he explorado el Internet; Foros, stackoverflow, android desarrollador de documentación, y todavía no han encontrado una gran respuesta para esto.

Sé que es posible hacer esto sin usar ninguna de estas cosas. Lo que me pregunto es cómo. El modelo NsMenuAdapter utiliza un título y, a continuación, hay estas funciones

getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); 

Que están claramente buscando una barra de acción. He intentado un par de modelos que no funcionaron, el grande que acabo de hacer está aquí Cómo agregar iconos adyacentes a los títulos de Android Navigation Drawer (que está relacionado con el enlace que tengo a continuación, el proyecto es de gitHub Aquí https://github.com/gabrielemariotti/androiddev/tree/master/NavigationDrawer ). Ahora lo más importante es que estoy usando un diseño personalizado (es decir, Layouts relativos mezclados con Linear Layouts) y estoy realmente perdido en lo que debería ser mi próximo paso para que esto funcione.

Sidenote: Cuando sólo tengo el ListView en mi main_activity.xml (la implementación para el cajón de navegación) se desliza correctamente como se supone. Pero no puedo por la vida de mí averiguar cómo llenarlo con datos. Necesito básicamente 3 cabeceras con que tendrán elementos de navegación clickable en ellos, con los iconos al lado de los elementos.

Me dirijo a este modelo para la mayoría de mi visión sobre cómo hacer esto a través de Layouts relativos http://gmariotti.blogspot.com/2013/05/creating-navigation-drawer.html Pero utilizan barras de acción / título que es lo que es Realmente me tira para un bucle.

  • ¿Cómo puedo eliminar mediante programación una regla existente que se definió en XML?
  • Expanda TextView con wrap_content hasta que la vista de vecino llegue al final del padre
  • RelativeLayout altura para llenar el espacio restante
  • Cree un nuevo TextView mediante programación y luego muéstrelo debajo de otro TextView
  • OnClickListener no funciona con el atributo que se puede hacer clic
  • Tener un EditText sobre un teclado suave con una vista GL en el fondo mediante programación
  • Ocultar diseño incluido en android
  • RelativeLayout y ViewStub inflación
  • 2 Solutions collect form web for “Uso del cajón de navegación sin TitleBar o ActionBar”

    Es muy simple en realidad. Más fácil que con ActionBar. Estoy escribiendo la respuesta con los diseños más simples

    Hacer su xml algo como esto:

     <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- This is how your main page will look, just 2 buttons --> <RelativeLayout android:layout_width="match_parent" android:layout_height="100dp" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:onClick="onLeft" android:text="left" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:onClick="onRight" android:text="right" /> </RelativeLayout> <!-- Left Drawer --> <RelativeLayout android:id="@+id/whatYouWantInLeftDrawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" > <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/background_dark" /> <!-- you can have many more widgets here like buttons or labels --> </RelativeLayout> <!-- Right Drawer --> <RelativeLayout android:id="@+id/whatYouWantInRightDrawer" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_gravity="right" > <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/holo_green_light" /> <!-- you can have many more widgets here like buttons or labels --> </RelativeLayout> </android.support.v4.widget.DrawerLayout> 

    Entonces haga su actividad algo como esto:

     public class MainActivity extends Activity { RelativeLayout leftRL; RelativeLayout rightRL; DrawerLayout drawerLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // I'm removing the ActionBar. requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); leftRL = (RelativeLayout)findViewById(R.id.whatYouWantInLeftDrawer); rightRL = (RelativeLayout)findViewById(R.id.whatYouWantInRightDrawer); drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout); } public void onLeft(View view) { drawerLayout.openDrawer(leftRL); } public void onRight(View view) { drawerLayout.openDrawer(rightRL); } } 

    Eso es. Espero eso ayude.

    Sé que es posible hacer esto sin usar ninguna de estas cosas. Lo que me pregunto es cómo.

    Paso # 1: Siga las instrucciones para usar DrawerLayout , como los pasos de esta guía de capacitación , omitiendo cualquier cosa relacionada con la barra de acción.

    Paso # 2: No hay paso # 2.

    Mientras que DrawerLayout puede trabajar con la barra de acción, no es necesario, y en realidad requiere una configuración adicional.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.