2017-08-21 6 views
-1

Je veux créer DrawerLayout Dynamiquement sans aucun fichier xml seulement du code j'ai trouvé quelques exemples pour faire des articles Dynamiquement mais je veux créer tout Dynamiquement articles non seulement puis-je faire cela? S'il vous plaît aidez-moiComment puis-je créer DrawerLayout Dynamiquement sans aucun fichier xml seulement du code

+1

Créer une instance de 'DrawerLayout' en utilisant un constructeur approprié. Ajouter des enfants avec des paramètres appropriés pour la gravité et autres. Ajoutez le 'DrawerLayout' à votre hiérarchie de vue (par exemple, passez-le à' setContentView() '). Qu'avez-vous essayé, et quels problèmes spécifiques ont rencontré? – CommonsWare

Répondre

0

J'ai trouvé code execute

DrawerLayout drawerLayout; 
    FrameLayout drawerPane; 
    LinearLayout content; 
    //- 
    protected override void OnCreate(Bundle savedInstanceState) 
    { 
     base.OnCreate(savedInstanceState); 
     //----------------------------- 
     content = new LinearLayout(this); 
     content.SetBackgroundColor(Color.White); 
     //----------------------------- 
     drawerPane = new FrameLayout(this); 
     drawerPane.SetForegroundGravity(GravityFlags.Start); 
     drawerPane.Clickable = true; 
     drawerPane.SetBackgroundColor(Color.Red); 
     //- 
     ListView myList = new ListView(this); 
     myList.ChoiceMode = ChoiceMode.Single; 
     myList.Adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, new List<string>() { "Item #1", "Item #2", "Item #3" }); 
     drawerPane.AddView(myList, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent)); 
     //----------------------------- 
     drawerLayout = new DrawerLayout(this); 
     drawerLayout.AddView(content, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent)); 
     drawerLayout.AddView(drawerPane, new DrawerLayout.LayoutParams(240, DrawerLayout.LayoutParams.MatchParent, (int)GravityFlags.Start)); 
     //----------------------------- 
     SetContentView(drawerLayout); 
    }