2017-09-12 3 views
1

J'ai utilisé un DropDownButton dans ma construction, mais je veux que la flèche soit affichée à la fin et les éléments de liste déroulante à afficher de la flèche, mais dans mon application, ils sont affichés à partir du haut . J'ai joint les captures d'écran pour votre référence.Re: créer un bouton dropdown dans flutter

S'il vous plaît pouvez-vous me dire comment changer cela ou existe-t-il un autre moyen de créer simplement un menu déroulant.

Un exemple serait très apprécié.

Veuillez excuser mon code car je suis nouveau à la programmation et tous les commentaires ou suggestions sont les bienvenus.

Merci beaucoup, Mahi.

import 'package:flutter/material.dart'; 
import 'package:flutter/widgets.dart'; 
import 'dart:ui'; 

void main(){ 
    runApp(new BranchSetup()); 
     } 

class BranchSetup extends StatefulWidget { 
    @override 
    State<StatefulWidget> createState() { 
     return new _BranchSetupState(); 
      } 
     } 

    class _BranchSetupState extends State<BranchSetup> with 
           WidgetsBindingObserver { 

    @override 
      Widget build(BuildContext context){ 
      return new MaterialApp(
       theme: new ThemeData(
        primaryColor: const Color(0xFF229E9C), 
           ), 
       title: 'Branch Setup', 
       home: new Scaffold(
       body: new Container(
       child: new ListView(
       children: <Widget>[ 
       new Container(
        margin: const EdgeInsets.all(16.0), 
        child: new Row(
        children: <Widget>[ 
         new Expanded(
         child: new TextFormField(
      decoration: new InputDecoration([enter image description here][1]       
         labelText: 'Branch Name', 
        ), 
       ), 
      ), 
      ], 
     ), 
     ), 
      new Container(
      margin: const EdgeInsets.all(16.0), 
      child: 
       new DropdownButton<String>(
       items: <String>['Mens','Womans'] 
         .map((String value) { 
        return new DropdownMenuItem<String>(
         value: value, 
         child: new Text(value), 
        ); 
        } 
       ).toList(), 
       onChanged: null, 
       ), 
      ), 

      ], 
     ), 
     ), 
    ), 
    ); 
    } 

    } 

Répondre

4

Cela ressemble à un bug dans Flutter. J'ai déposé un issue.

En attendant, vous pouvez contourner ce problème en enveloppant votre DropdownButton dans un Column.

screenshot

import 'package:flutter/material.dart'; 

void main() { 
    runApp(new MaterialApp(home: new DemoApp())); 
} 

class DemoApp extends StatelessWidget { 
    @override 
    Widget build(BuildContext context) { 
    return new Scaffold(
     appBar: new AppBar(title: new Text('DropdownButton Example')), 
     body: new ListView(
     children: [ 
      new Column(
      children: <Widget>[ 
       new DropdownButton<String>(
       items: <String>['Foo', 'Bar'].map((String value) { 
        return new DropdownMenuItem<String>(
        value: value, 
        child: new Text(value), 
       ); 
       }).toList(), 
       onChanged: (_) {}, 
      ), 
      ], 
     ), 
     ], 
    ), 
    ); 
    } 
} 
+0

je vous remercie beaucoup pour votre aide Collin Jackson, je l'ai essayé cette solution de contournement et il semble fonctionner pour moi. Encore merci. – Mahi