`
iaiai
  • 浏览: 2203259 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flutter TextField边框颜色

 
阅读更多
监听要销毁 myController.dispose();
TextField 没有height属性, 这里用 maxLines 来控制高度,也可以设置 minLines,让高度随输入内容变化

class _FeedbackPageState extends State<FeedbackPage> {
  final myController = TextEditingController(); //输入监听

  @override
  void dispose() {
    myController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('意见反馈'),
      ),
      body: getBodyView(),
    );
  }

  Container getBodyView() => Container(
        child: Column(
          children: <Widget>[
            Padding(
              padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
              child: TextField(
                controller: myController,
                maxLines: 10,
                decoration: InputDecoration(
                  hintText: "请填写您宝贵的意见",
                  border: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(5.0),
                      borderSide: BorderSide()),
                ),
                obscureText: false, //是否是密码
                cursorColor: Colors.red, //光标颜色

                //内容改变的回调
                onChanged: (text) {
                  print('change $text');
                },

                //内容提交(按回车)的回调
                onSubmitted: (text) {
                  print('submit $text');
                },

                //按回车时调用
                onEditingComplete: () {
                  print('onEditingComplete');
                },
              ),
            ),
            Container(
              margin: EdgeInsets.only(top: 30),
              width: 300,
              height: 40,
              child: RaisedButton(
                child: Text('提交'),
                color: Colors.red,
                textColor: Colors.white,
                onPressed: () {
                  if (myController.text.length > 0) {
                    return showDialog(
                      context: context,
                      builder: (context) {
                        return AlertDialog(
                          content: Text(myController.text),
                        );
                      },
                    );
                  } else {
                    return showDialog(
                      context: context,
                      builder: (context) {
                        return AlertDialog(
                          content: Text('请输入内容'),
                        );
                      },
                    );
                  }
                },
              ),
            ),
          ],
        ),
      );
}

通过修改 enabledBorder 和 focusedBorder 可以调整边框在选中和失焦时的颜色
child: TextField(
  controller: pwdController,
  obscureText: true,
  decoration: InputDecoration(
  hintText: '请输入验证码',
  prefixIcon: Icon(Icons.lock),
  enabledBorder: UnderlineInputBorder(
    borderSide: BorderSide(color: Colors.orange),
  ),
  focusedBorder: UnderlineInputBorder(
    borderSide: BorderSide(color: Colors.red),
  ),
 ),
),

套一层 Theme 修改主题颜色可以修改 TextField 选中时整体颜色(边框+prefixIcon)
Theme(
  data: new ThemeData(primaryColor: Colors.red),
  child: TextField(
    controller: accountController,
    decoration: InputDecoration(
      hintText: '请输入您的手机号',
      prefixIcon: Icon(Icons.person),
    ),
  ),
)
分享到:
评论

相关推荐

    flutter TextField换行自适应的实现

    2. **自定义样式**:使用`decoration`属性可以定制TextField的边框、圆角、颜色、字体样式等。 3. **自适应高度**:字号增大时,TextField高度应随之增高,保持内外边距不变。 4. **多行文本**:使用`keyboardType: ...

    fluter_textfield_编辑框.zip

    2. **边框颜色和宽度**:通过 `InputDecoration` 的 `focusedBorder` 和 `enabledBorder` 设置聚焦时和非聚焦时的边框颜色和宽度。 3. **内边距**:可以使用 `InputDecoration` 的 `contentPadding` 属性来调整...

    Flutter 常用系列demo代码

    5. **Container**: Container是Flutter中的一个通用组件,可以用来包裹其他组件并提供布局、装饰(如边框和背景色)以及变换效果。它是构建复杂UI的基础。 6. **Flex**、**Row**、**Column**: 这些都是布局组件,...

    Flutter入门与实战:带有【添加】按钮的圆角输入框

    color: Colors.grey, // 边框颜色 width: 1.0, // 边框宽度 ), borderRadius: BorderRadius.circular(10.0), // 设置圆角 ), child: TextField( decoration: InputDecoration( hintText: '请输入内容', // ...

    flutter 总结及遇到的问题集合

    可以使用 BoxDecoration 来设置背景颜色、边框等样式。 四、导航和跳转 Flutter 中的导航可以使用 Navigator.push 和 Navigator.pop 来实现跳转和返回。Navigator.push 可以跳转到某一页,而 Navigator.pop 则可以...

    针对Flutter的完全初学者让他们熟悉Flutter中的各种基本小部件

    `Container`用于设置大小、颜色、边框等属性,`Text`用于展示文本,`Image`则用于加载和显示图片。 2. **布局小部件**: - `Row`和`Column`:用于水平和垂直布局,可以将子小部件按照指定方向排列。 - `Flex`和`...

    Flutter 完美的验证码输入框实现

    我们可以通过VerificationBox控件的各种属性来实现不同的效果,例如设置验证码的数量、样式、边框的颜色、宽度、圆角等。 使用VerificationBox控件 使用VerificationBox控件非常简单,我们可以通过设置不同的属性来...

    Flutter 总体架构.docx

    4. **容器控件**:Container组件用于包裹其他Widget,可以设置尺寸、颜色、边框、阴影等属性,还可以添加装饰(Decoration)和布局约束。 5. **tabBar**:TabBar组件用于创建标签页,可以在多个页面间切换,常与...

    一系列使用Flutter构建具有吸引力UI的登录屏幕

    通过设置inputDecoration属性,可以添加边框、占位符颜色等样式。 2. **自定义输入框** TextField组件允许我们自定义输入样式,如字体大小、颜色、输入类型(密码或文本)等。还可以设置验证规则,例如检查输入...

    flutterDemo:flutter常用组件demo

    `Container` 组件是一个灵活的布局容器,可以设置宽度、高度、边距、填充、颜色以及装饰(如边框)。`Stack` 组件允许你将多个子 widget 堆叠在一起,而 ` Positioned` 可以控制子 widget 在堆叠中的位置。 `...

    Flutter实战1

    - `decoration`: 指定装饰效果,如颜色、边框、阴影等。 - `child`: 需要装饰的子Widget。 #### 十二、变换TransformContainer 1. **TransformContainer作用**: - 用于对子Widget进行位置、大小、旋转等变换。...

    Flutter 开发过程中常用的 Widget 与功能实例.zip

    - `Container`:用于布局和装饰,可以设置颜色、边框、阴影等属性。 - `Text`:显示文本,支持样式、对齐方式和文本装饰。 - `Image`:加载和展示图片,支持网络图片和本地资源。 - `Button`:包括`...

    基本涵盖所有Flutterwidget的Demo

    - `Container`: 用于创建具有颜色、边框、大小、位置等属性的基础容器。 - `Row` 和 `Column`: 分别用于水平和垂直布局多个子Widgets。 - `Padding` 和 `Align`: 用于添加内边距和调整子Widget的对齐方式。 2. *...

    flutter_base_demo:flutter组件学习

    1. **Container**: 这是最基本的组件,用于设置大小、颜色、边框、阴影等属性,可以包含其他组件。 2. **Text**: 用于展示文本,支持字体样式、对齐方式、行间距等定制。 3. **Image**: 可以加载本地或网络图片,...

    flutter-material-cheat-sheet:Flutter的Material包装的备忘单

    7. **颜色和主题**:Flutter的`Theme`类允许开发者定义和应用全局的色彩方案、字体样式等,以确保应用的一致性。 8. **动画**:Material Design强调动态和过渡效果,Flutter提供了`AnimatedBuilder`、`...

    TheGorgeousLogin.zip

    3. **组件设计**:Flutter的组件库丰富,包括TextField(输入框)、RaisedButton(凸起按钮)、Icon(图标)等,这些都是构建登录界面的关键元素。在"TheGorgeousLogin"项目中,开发者可能使用了自定义的文本字段、...

    buy_ticket_design.zip

    1. **Container**: 这是最基础的布局组件,可以包含子 widgets 并提供颜色、边框、阴影等装饰。 2. **Row** 和 **Column**: 这两个是主轴方向的布局 widgets,分别用于水平和垂直排列子 widgets。在购票界面,它们...

Global site tag (gtag.js) - Google Analytics