所以我有一個文本欄位,用戶將輸入密碼,如果用戶點擊它,我想在最后顯示該圖示,否則它將顯示密碼,否則它將隱藏。文本欄位基本上如圖所示在容器內。怎么做 ?

Container(
height: MediaQuery.of(context).size.height * 0.08,
margin: const EdgeInsets.symmetric(horizontal: 5),
decoration: BoxDecoration(
color: const Color(0xFFEFEDED),
border: Border.all(color: Colors.transparent),
borderRadius: BorderRadius.circular(10),
),
child: Padding(
padding: const EdgeInsets.only(left: 8.0),
child: Row(
children: [
Icon(Icons.remove_red_eye_outlined),
TextFormField(
controller: controller,
keyboardType:
isUrl ? TextInputType.url : TextInputType.text,
decoration: const InputDecoration(
border: InputBorder.none,
),
),
],
),
),
)
,
uj5u.com熱心網友回復:
以下代碼通過按下最右側的“眼睛”按鈕啟用并切換顯示/隱藏文本。它適用于boolean變數。
記得有一個Stateful Widget。
bool hidden;
@override
void initState() {
hidden = true;
super.initState();
}
TextFormField(
controller: controller,
obscureText: hidden,
keyboardType: isUrl ? TextInputType.url : TextInputType.text,
decoration: InputDecoration(
border: InputBorder.none,
suffixIcon: IconButton(
onPressed: () => setState(() {
hidden = !hidden;
}),
icon: const Icon(Icons.remove_red_eye_outlined))),
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/487748.html
標籤:扑
下一篇:主題資料中的底部導航欄漸變圖示
