Adds a fancy textfield helper

This commit is contained in:
zontreck 2025-03-15 02:23:27 -07:00
parent 6537863dc5
commit 8463e6e179
3 changed files with 77 additions and 2 deletions

View file

@ -2,5 +2,5 @@ import 'package:flutter/material.dart';
class LibACFlutterConstants {
static const Color TITLEBAR_COLOR = Color.fromARGB(255, 99, 0, 0);
static const VERSION = "1.0.020325+1224";
static const VERSION = "1.0.031525+0222";
}

75
lib/TextFields.dart Normal file
View file

@ -0,0 +1,75 @@
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
enum InputType {
Text,
Number,
Date;
TextInputType getType() {
switch (this) {
case Text:
return TextInputType.text;
case Number:
return TextInputType.number;
case Date:
return TextInputType.datetime;
}
}
List<TextInputFormatter> getFormatters() {
var lst = [];
switch (this) {
case Text:
return [FilteringTextInputFormatter.deny("")];
case Number:
return [FilteringTextInputFormatter.digitsOnly];
case Date:
return [
FilteringTextInputFormatter.digitsOnly,
FilteringTextInputFormatter.allow("-"),
FilteringTextInputFormatter.allow("/")
];
}
}
}
class HighlightTextfield extends StatelessWidget {
TextEditingController controller;
InputType inputStyle;
Color selected;
Color inactive;
HighlightTextfield(
{required this.controller,
required this.inputStyle,
required this.selected,
required this.inactive});
@override
Widget build(BuildContext context) {
return TextField(
controller: controller,
keyboardType: inputStyle.getType(),
inputFormatters: inputStyle.getFormatters(),
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: selected,
),
),
border: OutlineInputBorder(
borderSide: BorderSide(
color: inactive,
),
),
),
);
}
void updateColors(Color active, Color inactive) {
selected = active;
this.inactive = inactive;
}
}

View file

@ -1,6 +1,6 @@
name: libacflutter
description: "A new Flutter package project."
version: 1.0.020325+1224
version: 1.0.031525+0222
homepage: https://zontreck.com
publish_to: https://git.zontreck.com/api/packages/Packages/pub