Cómo crear DrawerLayout programaticamente

Me gustaría traducir este xml a java en mi actividad principal, la salida es el cajón de navegación. Sólo necesito ayuda en esta parte, terminé las partes restantes.

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <FrameLayout android:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" > </FrameLayout> <ListView android:id="@+id/drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#FFF" android:choiceMode="singleChoice"/> 

Me gustaría escribir sobre xml en código java, ¿Cómo?

Gracias por adelantado

Actualizar

 final DrawerLayout drawer = new android.support.v4.widget.DrawerLayout(this); final FrameLayout fl = new FrameLayout(this); fl.setId(CONTENT_VIEW_ID); final ListView navList = new ListView (this); drawer.addView(fl, new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); drawer.addView(navList); setContentView(drawer); 

Necesito poca ayuda para personalizar el ancho de diseño de listview y gravedad de diseño en código.

(Contestado por el OP en una edición de pregunta) Convertido a una respuesta de wiki de comunidad Ver pregunta sin respuestas, pero problema resuelto en los comentarios (o ampliado en el chat) )

El OP escribió:

He resuelto, aquí está el código completo

 final DrawerLayout drawer = new android.support.v4.widget.DrawerLayout(this); final FrameLayout fl = new FrameLayout(this); fl.setId(CONTENT_VIEW_ID); final ListView navList = new ListView (this); DrawerLayout.LayoutParams lp = new DrawerLayout.LayoutParams( 100 , LinearLayout.LayoutParams.MATCH_PARENT); lp.gravity=Gravity.START; navList.setLayoutParams(lp); drawer.addView(fl, new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); drawer.addView(navList); setContentView(drawer); 
  • Android: ListFragment refresh utilizando notifyDataSetChanged () con el adaptador personalizado no funciona
  • Cómo actualizar la matriz de elementos en una lista AlertDialog construida con AlertDialog.builder después de la creación
  • ¿Cómo puedo obtener notifyDatasetChanged () para trabajar con un ListAdapter?
  • Vista de lista con la opción de actualización y supresión mediante contextmenu
  • Mostrando un botón de eliminación en el desplazamiento de un listview para Android
  • Android Cómo reciclar el mapa de bits correctamente cuando se utiliza RecyclerView?
  • Vista de lista de Android Giros de derecha / izquierda como registros de llamadas
  • Android ListView Fondo no pintado
  • Deshabilitar clic largo para encabezados (o pies de página) en un ListView
  • Cómo obtener id de un elemento particular de listview en android?
  • ¿Por qué llamar a setBackgroundColor en una vista rompe su cambio de color de clic largo y resaltado?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.