gpt4 book ai didi

button - 如何在我的 flutter 应用程序中制作下拉菜单定位器?

转载 作者:行者123 更新时间:2023-12-05 05:08:18 25 4
gpt4 key购买 nike

在我的应用程序中将有 2 种语言(阿拉伯语和英语)我构建了一个设置页面,用户可以在其中根据他们按下的 FlatButton 切换语言。但我想将 FlatButtons 更改为 DropdownButtons。目前代码有效,我可以在应用程序中成功切换语言。

代码如下:

import 'package:flutter/material.dart';

import '../drawer/drawer.dart';
import '../app_localization.dart';
import '../locale_helper.dart';

class AppSettings extends StatefulWidget {
static const routeName = '/settings-screen';

@override
_AppSettingsState createState() => _AppSettingsState();
}

class _AppSettingsState extends State<AppSettings> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Settings',),
),
drawer: MyDrawer(),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new FlatButton(
child: new Text("English"),
color: AppLocalizations.of(context).locale == "en"
? Colors.grey
: Colors.blue,
onPressed: () {
this.setState(() {
helper.onLocaleChanged(new Locale("en"));
});
},
),
new FlatButton(
child: new Text("العربية"),
color: AppLocalizations.of(context).locale == "ar"
? Colors.grey
: Colors.blue,
onPressed: () {
this.setState(() {
helper.onLocaleChanged(new Locale("ar"));
});
},
),
],
),
),
);
}
}

最佳答案

将两个 FlatButton 替换为一个 DropdownButton,如下所示:

DropdownButton(
icon: Icon(Icons.language),
items: [
DropdownMenuItem( value: Locale( 'en' ),
child: Text( 'English'),),
DropdownMenuItem( value: Locale( 'ar' ),
child: Text( 'العربية' ),
],
onChanged: (v) => setState(() { helper.onLocaleChanged( v )}),
value: AppLocalizations.of(context).locale,
),

作为替代方案,您可以使用 package flutter_input 中的 InputLanguage或者看看它是如何在那里完成的。

关于button - 如何在我的 flutter 应用程序中制作下拉菜单定位器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58462763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com