首先,我尝试使用Center(),顺便说一句,似乎cupertino图标偏离了中心
             IconButton(
              icon: const Icon(
                CupertinoIcons.add_circled,
                color: Colors.black,
              ),
              padding: const EdgeInsets.all(0),
              onPressed: () {}
              ),
在我们的 Flutter Cupertino 项目中,我们需要在底部栏图标之一上显示一个徽章。准确地说,购物车中已有多少商品。
我尝试了此处提供的不同小部件和解决方案,但BottomNavigationBarItem仅接受icon: Icon(..)而不是其他。例如,如果我输入icon: Stack(..)而不是icon: Icon(..),则会显示错误消息,例如“无效的常量值...”
下面是一些示例代码:
class CupertinoStoreHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return CupertinoTabScaffold(
      tabBar: CupertinoTabBar(
        items: const <BottomNavigationBarItem>[
          BottomNavigationBarItem(
            icon: Icon(CupertinoIcons.home),
            title: Text('Kühlschrank'),
          ),
          BottomNavigationBarItem(
            icon: Icon(CupertinoIcons.profile_circled),
            title: Text('Konto'),
          ),
          BottomNavigationBarItem(
            icon: Icon(CupertinoIcons.shopping_cart),
            title: Text('Warenkorb'),
          ),
        ],
      ),
所以如果我不能把任何东西代替Icon(..). 没有其他小部件,没有Stack(..)。
为什么?我怎样才能放置一些其他小部件,例如Badge(..):
badges: ^1.0.2
import 'package:badges/badges.dart';
这个问题与可能的重复问题不同,因为我已经尝试了那里发布的解决方案,但仍然无法使用 Stack(..) 而只能使用 Icon(..)。
我有一个 CupertinoApp,我想TextStyle对我的应用程序的所有屏幕/对象应用自定义。例如,我会撒谎为所有文本小部件和对话框小部件设置一个字体系列,并在我的所有应用程序中使用该字体。我希望将它设置一次CupertinoThemeData或CupertinoTextThemeData但到目前为止我没有快乐。
注意:我可以为每个文本设置样式,但是我想设置一次
我有以下小部件树:
@override
  Widget build(BuildContext context) {
    final double topMargin = Platform.isAndroid ? 0 : 105; // TODO: (why margin on iOS?)
    final double interMargin = Platform.isAndroid ? 0 : 10;
    final body = Column(children: <Widget> [
      Padding(
        padding: EdgeInsets.only(left: 10, right: 10, top: topMargin),
        child: Platform.isAndroid // url
        ? TextField(
            decoration: new InputDecoration(hintText: 'Host'),
            maxLines: 1,
            autofocus: true,
            textInputAction: TextInputAction.next,
            controller: _hostController)
        : CupertinoTextField(
            maxLines: 1,
            autofocus: true,
            textInputAction: TextInputAction.next,
            controller: _hostController)),
      Padding(
        padding: EdgeInsets.only(left: 10, top: interMargin, right: 10), …我有一个使用 CupertinoApp-CupertinoTabScaffold 的应用程序。
我的应用程序的层次结构
CupertinoApp
- CupertinoTabScaffold
-- CupertinoTabView
--- Home
---- Movie list
----- Movie Detail
--- Search
---- Movie Search List
----- Movie Detail
--- Profile
--- Settings
我刚刚在 Android 上意识到,即使在“电影详细信息”(从任何选项卡)中单击后退按钮应用程序也会关闭。
返回按钮应该真的从电影细节返回。
我搜索了 5 天,但找不到任何解决方案或解决此问题的方法。
此致,
乌特库Y。
我有一个 Flutter 应用程序,它使用 Android 的 Material 主题和 iOS 的 Cupertino 主题。但我Card在两个主题中都使用了 widget,它是一个 Material widget。现在我有以下代码main.dart
Widget build(BuildContext context) => PlatformProvider(
      builder: (BuildContext context) => PlatformApp(
            cupertino: (_, __) => CupertinoAppData(
                theme: CupertinoThemeData(brightness: Brightness.light, ...)),
            material: (_, __) => MaterialAppData(
                theme: ThemeData(
                  brightness: Brightness.light,
                  primarySwatch: Colors.deepPurple,
                  cardTheme: CardTheme(
                    color: Colors.grey,
                    ...
                  )
                  ...
                ),),
......
正如您所看到的,该小部件在 Material 中Card使用了主题,但在 中没有相应的主题。所以在 iOS 上,s 只使用他们的默认主题。cardThemeThemeDatacardThemeCupertinoThemeDataCard
那么如何像Card库比蒂诺主题那样为 Material 小部件设置主题呢?
我正在进行的项目几乎完成了80%。我所有的项目都是在Material design上完成的。现在,我试图将Cupertino UI主题移至Android和IOS。
当我尝试从Material design迁移到Cupertino UI时,我面临很多问题,尤其是在以下方面。
- TextFormField:我无法在Cupertino设计中找到要与表单一起使用的TextFormField ...
- 验证程序:由于没有验证程序方法,如何验证CupertinoTextField
- App Drawer:现在我有App Drawer。当我转向针对iOS和Android的Cuprtino UI设计时,应该放弃App Drawer吗?
- 如何确定CupertinoButton的宽度?
- 当我尝试迁移到Cuprtio时,ListTitle引发异常。唯一的例外是“找不到材料祖先的特定小部件为:ListTitle”
另外,如何在CupertinoPageScaffold页面内部混合非Cuprtino小部件?
谢谢你的时间
我有一个带有登录屏幕的应用程序,成功登录后会转到主屏幕。我使用下面的代码来替换小部件并启动一个新的导航堆栈:
Navigator.pushReplacement(
    context,
    CupertinoPageRoute(
      builder: (context) => HomeScreen(),
    ),
  );
主屏幕是CupertinoTabScaffold2 CupertinoTabViews。
第二个CupertinoTabView包含一个带有注销按钮的小部件。
成功注销后,我想删除 HomeWidget,然后转到 LoginScreen。
使用
Navigator.pushReplacement(
    context,
    CupertinoPageRoute(
      builder: (context) => LoginScreen(),
    ),
  );
在第二个内的 Widget 中,CupertinoTabView仅重置其导航,并且 LoginScreen 出现在第二个内CupertinoTabView。
我想要的是一些代码来删除我的主屏幕并使用登录屏幕启动新的导航堆栈。
我是颤振的新手,我需要帮助。
我正在创建一个应用程序,用户可以在其中通过CupertinoPicker选择数据。
选择器工作正常,但我想改变它的风格。
不幸的是我不明白怎么做,我读了这个但我不能这样做,我想更改所选元素的颜色和大小,未选中元素的颜色和线条的颜色。
但我不知道我该怎么做。
请问有人能帮我理解吗?
代码是这样的:
Container(
          ?child: _showCupertinoPicker(
           context,
           book[currentPage].orari.map((orario) {
           return Center(
                     child: Text(orario,
                     style: TextStyle(color: CupertinoColors.activeBlue
                         )));
           }).toList())),
.
.
.
.
_showCupertinoPicker(BuildContext context, List<Widget> orariWidget) {
  return CupertinoPicker(
    backgroundColor: Colors.white,
    onSelectedItemChanged: (value) {},
    itemExtent: 40.0,
    children: orariWidget,
  );
}