我正在嘗試使用具有特定主題的居中提示文本制作 TextFormField。
這是結果

我不知道為什么,但我的提示文本在螢屏上完全被竊聽了......
這是我的代碼:
登錄螢屏.dart
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:sizer/sizer.dart';
class LoginScreen extends StatefulWidget {
const LoginScreen({Key? key}) : super(key: key);
@override
_LoginScreenState createState() => _LoginScreenState();
}
class _LoginScreenState extends State<LoginScreen> {
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
height: 12.h,
),
Text(
"Flexmes",
style: Theme.of(context).textTheme.bodyText2,
),
SizedBox(
height: 9.5.h,
),
Container(
width: 70.w,
height: 3.h,
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
width: 0.13.w,
color: Theme.of(context).splashColor,
),
),
),
child: Padding(
padding: EdgeInsets.fromLTRB(0.w, 0.h, 0.w, 0.6.h),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Icon(
Icons.email_outlined,
color: Theme.of(context).primaryColor,
),
SizedBox(
width: 1.w,
),
Expanded(
child: Material(
color: Colors.transparent,
child: TextFormField(
textAlign: TextAlign.center,
decoration: InputDecoration(
hintText :"Email",
hintStyle: Theme.of(context).textTheme.bodyText1,
border: InputBorder.none,
),
),
),
),
SizedBox(
width: 1.w,
),
Icon(
Icons.visibility,
color: Theme.of(context).primaryColor,
),
],
),
),
)
],
);
}
}
主題.dart
import 'package:flutter/material.dart';
import 'package:sizer/sizer.dart';
enum AppTheme {
authTheme,
}
final appThemeData = {
AppTheme.authTheme: ThemeData(
primaryColor: const Color.fromARGB(255, 219, 219, 219),
splashColor: const Color.fromARGB(255, 164, 164, 164),
textTheme: TextTheme(
bodyText2: TextStyle(
color: const Color.fromARGB(255, 164, 164, 164),
fontSize: 40.sp,
fontFamily: "Segoe-UI",
),
bodyText1: TextStyle(
color: const Color.fromARGB(255, 164, 164, 164),
fontSize: 14.sp,
fontFamily: "Segoe-UI",
),
),
),
};
我還希望,當我在欄位中寫入文本時,它確實從右側而不是從中心開始。由于提示文本,我知道它從中心開始,但是還有另一種方法嗎?:)
太謝謝了 !
克里斯
uj5u.com熱心網友回復:
問題來自于Container( height: 3.h內在孩子沒有足夠的空間,你需要有 48px 的TextFiled高度。增加容器高度
uj5u.com熱心網友回復:
試試下面的代碼希望對你有幫助。我試過其他方式
參考TextFormField 
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/395299.html
