标签: flutter-layout

Flutter Push 与状态相关视图

有两种方法可以更改用户在显示上看到的内容:我可以推送到另一个页面,或者可以更改有状态小部件的状态并重建它。你能告诉我哪种方法是最佳实践吗?(如果这取决于——我猜——取决于什么?)

推动:

class Pushing extends StatelessWidget {

@override
Widget build(BuildContext context) {
return Scaffold(
  body: Center(
      child: RaisedButton(
        onPressed: () => Navigator.push(context, new MaterialPageRoute(builder: (context) => new SecondPage())),)
  ),
);
}
}
Run Code Online (Sandbox Code Playgroud)

使用状态

class UsingStates extends StatefulWidget {
@override
State createState() => new _UsingStatesState();
}

class _UsingStatesState extends State<UsingStates> {
 bool isPageTwo;

 @override
 void initState() {
  isPageTwo = false;
  super.initState();
 }

 @override
 Widget build(BuildContext context) {
 return Scaffold(
   body: isPageTwo ? Center(child: Text('Page two')) : Center(child: RaisedButton(onPressed: () {
    setState(() …
Run Code Online (Sandbox Code Playgroud)

flutter flutter-layout

0
推荐指数
1
解决办法
1066
查看次数

Flutter:如何将pdf文件上传到firebase存储?

我正在开发 Flutter 应用程序,我想将 PDF 文件上传到 Firebase 存储,我使用 Documents_picker 选择文件,但无法将其上传到存储...请帮助我...我的代码如下

uploaddoc()async{


   dynamic docPaths;
   // Platform messages may fail, so we use a try/catch PlatformException.
   try {
     docPaths = await DocumentsPicker.pickDocuments;
     final Directory tempDir = Directory.systemTemp;
     final String fileName = "${Random().nextInt(10000)}.pdf";
     final File file = File('${tempDir.path}/$fileName');
     file.writeAsBytesSync(docPaths);

     final StorageReference ref = FirebaseStorage.instance.ref().child(fileName);
     final StorageUploadTask task = ref.putFile(file);
     final Uri downloadUrl = (await task.future).downloadUrl;
     _path = downloadUrl.toString();

     print(_path);
   } on PlatformException {

   }

   // If the widget was removed from the tree while …
Run Code Online (Sandbox Code Playgroud)

firebase flutter firebase-storage flutter-layout

0
推荐指数
1
解决办法
9920
查看次数

Flutter 中 TextFormField 的 prefixIcon 的调整大小(高度和宽度)不起作用

final password = TextFormField(
  autofocus: false,
  obscureText: true,
  decoration: InputDecoration(
    hintText: 'Password',
    contentPadding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 10.0),
    prefixIcon: new ImageIcon(
      new AssetImage('assets/ic_email.png'),
      size: 15.0,
    ),
  ),
);
Run Code Online (Sandbox Code Playgroud)

我已将大小设置为 15.0 但没有任何变化,所以请指导我,我哪里做错了?

flutter flutter-layout

0
推荐指数
1
解决办法
3325
查看次数

关闭键盘时 TextFormField 数据消失

我正在构建一个 flutter 应用程序,并且那里有一个Register表单。我正在使用TextFormFields,下面是我的代码。

import 'package:flutter/material.dart';

class RegisterPage extends StatelessWidget {
  final borderColorGreen = const Color(0xff339966);

  TextEditingController nameTxtController =TextEditingController();
  TextEditingController emailTxtController =TextEditingController();
  TextEditingController mobileTxtController =TextEditingController();
  TextEditingController passwordTxtController =TextEditingController();
  TextEditingController confirmPasswordTxtController =TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        decoration: BoxDecoration(
          image: DecorationImage(
            image: AssetImage("assets/images/background_login_5.jpg"),
            fit: BoxFit.cover,
          ),
        ),
        child: ListView(
          children: <Widget>[
            _buildTitleSection(),
            _buildInputFields("Name",nameTxtController),
            _buildInputFields("Email",emailTxtController),
            _buildInputFields("Mobile",mobileTxtController),
            _buildInputFields("Password",passwordTxtController),
            _buildInputFields("Confirm Password",confirmPasswordTxtController),
            _buildRegisterButton(),
          ],
        ),
      ),
    );
  }

  Widget _buildTitleSection() {
    return Container(
        margin: EdgeInsets.only(top: 40),
        padding: EdgeInsets.all(32), …
Run Code Online (Sandbox Code Playgroud)

android dart flutter flutter-layout

0
推荐指数
1
解决办法
2049
查看次数

ListView 上的 Flutter Stepper

我有疑问,我的listView中有一个Stepper,但它甚至无法滚动,我尝试了三天,但没有结果,为什么会发生这种情况以及如何解决?

有人可以帮我解决这个问题吗?

这是我的代码,

new ListView(   padding: EdgeInsets.fromLTRB(5.0, 0.0, 5.0, 3.0),   children: <Widget>[
    new ListTile(
      title: new Text(
        "Day 1",
        style: new TextStyle(fontSize: 20.0, color: Colors.lightGreen, fontWeight: FontWeight.bold,fontFamily: 'GoogleSans'),
      ),
      subtitle: new Stepper(
        currentStep: this._currentStep1,
        onStepTapped: (step){
          setState(() {
            this._currentStep1 = step;
          });
        },
        onStepContinue: (){
          setState(() {
            if(this._currentStep1 < 4){
              this._currentStep1 += 1;
            } else {
              //logika jika komplit
            }
          });
        },
        onStepCancel: (){
          setState(() {
            if(this._currentStep1 > 0){
              this._currentStep1 -= 1;
            } else {
              this._currentStep1 = 0;
            }
          }); …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-layout

0
推荐指数
1
解决办法
2699
查看次数

将容器滑动到另一个容器中以显示或隐藏一些图标,例如工具栏

在容器中,你认为我有AppBar()一个女巫,我想要另一个隐形容器,就像这个屏幕截图一样:

在此输入图像描述

因为另外两个容器是不可见的,我想通过从上到下或从下到上滑动来显示它们,以更改可见或不可见的可见性

从上到下滑动显示或从顶部滑动隐藏

在此输入图像描述

从下到上滑动显示或从下滑动到隐藏

在此输入图像描述

有没有库可以实现这个滑动动画?

flutter flutter-layout

0
推荐指数
1
解决办法
6418
查看次数

Flutter - 获取其子项高度的列

是否可以以父级将采用子级大小的方式垂直排列子级?

更具体地说,这就是我想要做的:

让一个图标和一个文本垂直对齐,它们之间有一个小间距,并在具有固定高度的矩形内居中。

我希望文本和图标的垂直容器的大小根据其子项而定。像 FlatButton.icon 这样的东西,只有垂直而不是水平。

对于那个内部垂直容器,我发现的只是 Column 和 ListView,它们都采用它们在父级中可以获得的所有高度,而不是采用它们的子级的高度。

小样

flutter flutter-layout

0
推荐指数
1
解决办法
1995
查看次数

Flutter:条件底部导航栏,根据if条件显示页面

我已经实现了一个具有下面列出的逻辑的底部导航栏,我想检查用户是否已登录。如果用户在第三个选项卡上登录,我想显示个人资料页面而不是登录页面。这是我显示底部导航栏的代码,我被困在 checkIsLoggedIn() 异步函数之后要做什么。

强文本

之后,我构建小部件列表以在 3 个选项卡中显示页面。其代码如下,

在此输入图像描述

因此,我需要显示,如果用户已登录,则代替 SignIn(),它会显示登录,否则,它会显示个人资料页面。请帮我一下。

conditional-statements flutter flutter-layout

0
推荐指数
1
解决办法
3762
查看次数

如果使用了InputDecoration的suffixIcon或prefixIcon属性,TextFormField中的TextInput会得到底部填充

上图: 正常好看的TextFormField,不提供任何WidgetforsuffixIcon

下图: 提供Icon WidgetforsuffixIcon使文本输入不必要地浮动

知道是什么原因造成的吗?

代码: 这是一个纯 TextFormFieldsuffixIcon

   TextFormField(
      decoration: InputDecoration(
        suffixIcon: Icon(Icons.search),
      )
    )
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

flutter flutter-layout

0
推荐指数
1
解决办法
1621
查看次数

Flutter - 用 GridView 覆盖按钮

因此,我使用此代码创建了以下视图:

return Column(
        children:[
          Expanded(
            child: gridView()
          ),
          IconButton(
            icon: Icon(Icons.add_box),
            iconSize: 30,
            onPressed: () {
              _showPicker();
            }
          )
        ]);
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是,我希望 IconButton 没有散布在整个屏幕上的白色背景。我将如何继续使它成为那样,而不是用 GridView 覆盖。Column 是一种错误类型的小部件吗?

dart flutter flutter-layout

0
推荐指数
1
解决办法
62
查看次数