当前位置: 首页 > news >正文

汇米网站建设五屏网站建设怎样

汇米网站建设,五屏网站建设怎样,网站换ip影响 百度,什么是网络营销 职能是什么目录 前言 需求 实现 前言 最近闲着无聊学习了flutter的一下知识,发现flutter和安卓之间,页面开发的方式还是有较大的差异的,众所周知,android的页面开发都是写在xml文件中的,而flutter直接写在代码里(da…

目录

前言

需求

实现


前言

最近闲着无聊学习了flutter的一下知识,发现flutter和安卓之间,页面开发的方式还是有较大的差异的,众所周知,android的页面开发都是写在xml文件中的,而flutter直接写在代码里(dart文件中),从目前我的认识来看,两者在UI上的“套娃”方式,flutter更能套,简直就是“套中套”啊哈哈。比如今天的手写一个最简单的自定义按钮吧,效果如下图所示

需求

  • 带文本的普通按钮,可修改字体大小和字体颜色
  • 提供修改背景色,按下后的背景色支持
  • 支持圆角和边框
  • 提供点击事件的回调

 这几个需求还是毕竟常用的,目前没考虑渐变色和图标,具体需求具体改吧

实现

本次demo的代码本身属于练手,相当于flutter的"hello world"(毕竟我才刚了解flutter没几天)

以下是具体的代码实现:

import 'package:flutter/material.dart';class CustomTextButton extends StatefulWidget {//按钮的宽度final double? width;//按钮的长度final double? height;final String text;final double? textSize;final Color textColor;final Color backgroundColor;final Color pressedBackgroundColor;final VoidCallback onClick;final double borderRadius;final Color borderColor;const CustomTextButton({super.key,required this.onClick,required this.text,this.textSize = 16,this.width = double.infinity,required this.height,this.backgroundColor = Colors.white,this.pressedBackgroundColor = Colors.white,this.borderRadius = 0.0,this.borderColor = Colors.white,this.textColor = Colors.black});@overrideState<CustomTextButton> createState() => _CustomTextButtonState();
}class _CustomTextButtonState extends State<CustomTextButton> {bool _isPressed = false;@overrideWidget build(BuildContext context) {return ConstrainedBox(constraints:BoxConstraints.expand(width: widget.width, height: widget.height),child: GestureDetector(onTap: () {widget.onClick();},onTapDown: (details) {setState(() {_isPressed = true;});},onTapUp: (details) {setState(() {_isPressed = false;});},child: Container(alignment: Alignment.center,decoration: BoxDecoration(color: _isPressed? widget.pressedBackgroundColor: widget.backgroundColor,borderRadius: BorderRadius.circular(widget.borderRadius),border: Border.fromBorderSide(BorderSide(width: 1, color: widget.borderColor))),child: Text(widget.text,maxLines: 1,overflow: TextOverflow.ellipsis,style: TextStyle(color: widget.textColor,fontSize: widget.textSize,fontStyle: FontStyle.normal,),),),),);}
}extension HexColor on Color {/// String is in the format "aabbcc" or "ffaabbcc" with an optional leading "#".static Color fromHex(String hexString) {final buffer = StringBuffer();if (hexString.length == 6 || hexString.length == 7) buffer.write('ff');buffer.write(hexString.replaceFirst('#', ''));return Color(int.parse(buffer.toString(), radix: 16));}}

代码演示,如何使用,这个还是非常简单易懂的,有什么需要改进的地方,也请大佬指示改进。

Container(margin: const EdgeInsets.only(left: 20, right: 20),child: CustomTextButton(text: '注册',textSize: 18,textColor: Colors.white,backgroundColor: HexColor.fromHex("F9AC00"),pressedBackgroundColor: HexColor.fromHex("E0CE32"),height: 44,borderRadius: 30,onClick: () {Fluttertoast.showToast(msg: "您按了注册",toastLength: Toast.LENGTH_SHORT,gravity: ToastGravity.BOTTOM,timeInSecForIosWeb: 1,backgroundColor: Colors.black12,textColor: Colors.black,fontSize: 14.0);},),),

http://www.yayakq.cn/news/614617/

相关文章:

  • 宝石网站建设石家庄市建设局质监站网站
  • 罗村网站建设哪里网站用vue.js做的
  • 营销网站售后调查系统网站建设哪里好 厦门
  • 电子商务网站建设的工具景安 怎么把网站做别名
  • 潍坊大型网站建设如何防止网站被采集
  • 杭州网站开发公司大兴智能网站建设哪家好
  • 宿州专业网站建设wordpress 获取插件数据
  • 怎样查看网站是用什么cms_做的室内设计联盟电脑版
  • 苏州做网站的公司免费搭建私人网站
  • 机顶盒视频网站建设商超网站
  • 厦门网站建设教学wordpress基于
  • 平台网站做数据维护需要多久中建国能建设集团网站
  • 网站第三方统计代码域名注册商哪个好
  • it美工做网站宝安品牌设计公司
  • 织梦网站头部到底部去了自己做网站做那种类型
  • 网站建设公司做销售前景好不好?小规模公司自学做账
  • 肥料网站建设 中企动力做公寓酒店跟网站合作有什么技巧
  • 网站建设有关的职位wordpress插件位置
  • 天保建设集团有限公司网站wordpress取消categore
  • 大连网站建设外包公司wordpress向下兼容
  • 可以做设计兼职的网站温州网站建设钢筋工
  • 辽宁奔之流建设工程有限公司网站go 网站开发
  • 成都优化网站厂家东莞招聘网哪个平台比较好
  • 湖南网站建设怎么样建设通网站会员共享密码
  • 托管网站服务器网站设计过程中需要注意的问题
  • 凡科网站建设总结阿里云wordpress数据库迁移
  • 尧都网站建设网站建设及推广优化
  • vue开发自适应网站室内设计方案ppt作业
  • 做网站九州科技手机百度ai入口
  • 网站建设及外包专业的深圳网站建设公司排名