扩展在基本数据类型的应用
extension IntExtension on int {
toSay() {
print('IntExtension Hello~');
}
}
extension StringExtension1 on String {
// 字符串转换成Color对象
toColor() {
var hexColor = this.replaceAll("#", "");
if (hexColor.length == 6) {
hexColor = "FF" + hexColor;
}
if (hexColor.length == 8) {
return Color(int.parse("0x$hexColor"));
}
}
// 字符串int
parseInt() {
return int.parse(this);
}
}
扩展在类中的应用
extension DateTimeExtension on DateTime {
toFormatString() {
//DateFormat dateFormat = new DateFormat("yyyy-MM-dd HH:mm:ss");
return "to_format_string";
}
}
扩展在泛型中的应用
extension HclList<T> on List<T> {
// 扩展属性
int get doubleLength => length * 2;
// 扩展操作符号
List<T> operator -() => reversed.toList();
// 一个链表分割成两个
List<List<T>> split(int at) => <List<T>>[sublist(0, at), sublist(at)];
}
扩展在Widget中的应用
extension HclWidget on Widget {
Widget marginAll(double margin) {
return Container(
alignment: Alignment.center,
margin: EdgeInsets.all(margin),
child: this,
);
}
}