android - 在 Flutter 中合并/合并两个 InputDecoration 实例
问题描述
我在颤振中有两个 InputDecoration 实例,如下所示:
final firstStyle = InputDecoration(labelText: "hello", contentPadding: EdgeInsets.all(10));
final secondStyle = InputDecoration(fillColor: Colors.lightBlue);
我现在想要的是这两个实例的组合形式,以便可以将单个组合或合并的装饰应用于输入字段,这意味着将应用所有三个属性labelText
, 。contentPadding
fillColor
我发现了一些.merge()
需要TextStyle
但不适用于其他类的东西,例如InputDecoration
and BoxDecoration
。我应该怎么办?
解决方案
用这个
import 'package:flutter/material.dart';
class MergeInputDecoration {
final InputDecoration input1;
final InputDecoration input2;
MergeInputDecoration({
required this.input1,
required this.input2,
});
InputDecoration merge() {
return input1.copyWith(
alignLabelWithHint: input2.alignLabelWithHint,
border: input2.border,
constraints: input2.constraints,
contentPadding: input2.contentPadding,
counter: input2.counter,
counterStyle: input2.counterStyle,
counterText: input2.counterText,
disabledBorder: input2.disabledBorder,
enabled: input2.enabled,
enabledBorder: input2.enabledBorder,
errorBorder: input2.errorBorder,
errorMaxLines: input2.errorMaxLines,
errorStyle: input2.errorStyle,
errorText: input2.errorText,
fillColor: input2.fillColor,
filled: input2.filled,
floatingLabelBehavior: input2.floatingLabelBehavior,
floatingLabelStyle: input2.floatingLabelStyle,
focusColor: input2.focusColor,
focusedBorder: input2.focusedBorder,
focusedErrorBorder: input2.focusedErrorBorder,
helperMaxLines: input2.helperMaxLines,
helperStyle: input2.helperStyle,
helperText: input2.helperText,
hintMaxLines: input2.hintMaxLines,
hintStyle: input2.hintStyle,
hintText: input2.hintText,
hintTextDirection: input2.hintTextDirection,
hoverColor: input2.hoverColor,
icon: input2.icon,
iconColor: input2.iconColor,
isCollapsed: input2.isCollapsed,
isDense: input2.isDense,
label: input2.label,
labelStyle: input2.labelStyle,
labelText: input2.labelText,
prefix: input2.prefix,
prefixIcon: input2.prefixIcon,
prefixIconColor: input2.prefixIconColor,
prefixIconConstraints: input2.prefixIconConstraints,
prefixStyle: input2.prefixStyle,
prefixText: input2.prefixText,
semanticCounterText: input2.semanticCounterText,
suffix: input2.suffix,
suffixIcon: input2.suffixIcon,
suffixIconColor: input2.suffixIconColor,
suffixIconConstraints: input2.suffixIconConstraints,
suffixStyle: input2.suffixStyle,
suffixText: input2.suffixText,
);
}
}
推荐阅读
- python - 使用 Django REST 和 pyjwt 登录时出现“预期的字符串值”
- node.js - 为什么 Stripe API 会输出“请求指标缓冲区已满,正在丢弃遥测消息。”?
- reactjs - 在 React 自定义钩子中正确输入 useRef 值
- javascript - 如何将 aws-Amplify 身份验证添加到 react-native typescript 项目模板
- drools - Kie Builder 失败,无法解析 ObjectType
- python - python中列名的字符串替换
- powerbi - Power BI 中的自动跟踪
- hana - 在 SAP HANA 表函数中使用 WITH 语句
- prestashop-1.7 - 具有 TranslatableType Prestashop 1.7.7 的类别中的自定义字段模块
- c# - 如何为捕捉制作“对齐指南”?类似于 photoshop/figma 等图片软件