Я работаю над TextField во Flutter и пытаюсь добиться следующего:
Выравнивание текста по префиксу: Я хочу, чтобы текст префикса (например, «Кому:») был виден всегда, даже если пользователь не сфокусировался на TextField.
< strong>Выравнивание курсора: я хочу, чтобы курсор должен располагаться на той же строке, что и текст префикса, не выше и не ниже префикса.
Текст подсказки: мне также нужен текст подсказки (например, «Имя, $Cashtag, Телефон, Электронная почта») остаются видимыми, когда TextField пуст, но я не хочу, чтобы курсор или текст подсказки перекрывался текстом префикса.
Что у меня есть Пробовал:
Использование prefixText для отображения текста префикса, но это работает только тогда, когда TextField находится в фокусе и плохо совмещается с курсором.
Используйте prefixIcon с Padding и Align, чтобы попробовать и отрегулируйте выравнивание, но при этом курсор и текст подсказки смещаются. исчезнуть.
Я также пробовал установить курсорЦвет, границу: InputBorder.none и настроить отступы, но безрезультатно.
Чего я пытаюсь достичь:
введите здесь описание изображения
Во весь экран (для контекста) ):
Проблема:
Текст-префикс не остается видимым, когда TextField находится в фокусе, а когда он появляется, он неправильно выровнен по курсору .
Курсор не отображается на том же уровне, что и текст префикса, что приводит к смещению.
Как мне правильно выровняйте текст префикса по курсору и убедитесь, что текст префикса остается видимым, даже когда пользователь не фокусируется на TextField ?
Я работаю над TextField во Flutter и пытаюсь добиться следующего: [list] [*][b]Выравнивание текста по префиксу: Я хочу, чтобы текст префикса (например, «Кому:») был виден всегда, даже если пользователь не сфокусировался на TextField. [*]< strong>Выравнивание курсора[/b]: я хочу, чтобы курсор должен располагаться на той же строке, что и текст префикса, не выше и не ниже префикса. [*][b]Текст подсказки[/b]: мне также нужен текст подсказки (например, «Имя, $Cashtag, Телефон, Электронная почта») остаются видимыми, когда TextField пуст, но я не хочу, чтобы курсор или текст подсказки перекрывался текстом префикса. [/list] Что у меня есть Пробовал: [list] [*][b]Использование prefixText[/b] для отображения текста префикса, но это работает только тогда, когда TextField находится в фокусе и плохо совмещается с курсором. [*][b]Используйте prefixIcon[/b] с Padding и Align, чтобы попробовать и отрегулируйте выравнивание, но при этом курсор и текст подсказки смещаются. исчезнуть. [*]Я также пробовал установить курсорЦвет, границу: InputBorder.none и настроить отступы, но безрезультатно. [/list] Код: [code]TextField( cursorColor: Colors.green, // Set the cursor color decoration: InputDecoration( hintText: 'Name, \$Cashtag, Phone, Email', border: InputBorder.none, // Remove the border prefixText: 'To ', // Prefix text before input prefixStyle: TextStyle( color: Colors.black, // Prefix text color fontSize: 18, // Prefix text size fontWeight: FontWeight.bold, // Prefix text weight ), ), ) [/code] Полный код (для контекста): [code]// payment_details_screen.dart import 'package:cashapp/utilities/colors.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
class PaymentDetailsScreen extends StatelessWidget { const PaymentDetailsScreen({super.key});
@override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, body: SafeArea( child: Column( children: [ SizedBox( height: 8.h, ), // Header with amount and bank selection Padding( padding: EdgeInsets.only(right: 12.w), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ IconButton( icon: const Icon( Icons.close, color: Colors.black, size: 30, ), onPressed: () => Navigator.pop(context), ), Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Text( '\$7,000', style: TextStyle( fontSize: 20, fontWeight: FontWeight.bold, ), ), Padding( padding: EdgeInsets.only(left: 16.w), child: InkWell( onTap: () { // Show bank selection }, child: Row( children: const [ Text( 'Cash Balance', style: TextStyle( color: gray2, fontSize: 14, ), ), Icon(Icons.keyboard_arrow_down, color: Colors.grey), ], ), ), ), ], ), ElevatedButton( onPressed: () { // Handle payment }, style: ElevatedButton.styleFrom( elevation: 0.0, padding: EdgeInsets.symmetric(horizontal: 24, vertical: 10), backgroundColor: green3, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(100), ), minimumSize: Size(60, 32), // Set width to 60 and height to 32 ), child: const Text( 'Pay', style: TextStyle(color: Colors.white, fontSize: 18), ), ), ], ), ), Divider( color: gray5, thickness: 1.5, height: 32.h, ), // Input fields const SizedBox(width: 16), TextField( cursorColor: green3, // Set the cursor color to green decoration: InputDecoration( hintText: 'Name, \$Cashtag, Phone, Email', hintStyle: TextStyle( color: Colors.grey), // Optional, for hint text color border: InputBorder.none, // Remove the border prefixText: 'To ', // Prefix text before input prefixStyle: TextStyle( color: Colors.black, // Prefix text color fontSize: 18, // Prefix text size fontWeight: FontWeight.bold, // Prefix text weight ), ), ), Divider( color: gray5, thickness: 1.5, height: 32.h, ), // Input fields TextField( cursorColor: green3, // Set the cursor color to green decoration: InputDecoration( hintText: 'Name, \$Cashtag, Phone, Email', border: InputBorder.none, // Remove the border prefixText: 'For ', // Prefix text before input prefixStyle: TextStyle( color: Colors.black, // Prefix text color fontSize: 18, // Prefix text size fontWeight: FontWeight.bold, // Prefix text weight ), ), ),
[/code] Чего я пытаюсь достичь: введите здесь описание изображения Во весь экран (для контекста) ): [img]https://i.sstatic.net/H36Bx0CO.png[/img]
Проблема: [list] [*][b]Текст-префикс[/b] не остается видимым, когда TextField находится в фокусе, а когда он появляется, он неправильно выровнен по [b]курсору[/b] . [*][b]Курсор[/b] не отображается на том же уровне, что и [b]текст префикса[/b], что приводит к смещению. Как мне правильно выровняйте [b]текст префикса[/b] по [b]курсору[/b] и убедитесь, что [b]текст префикса остается видимым[/b], даже когда пользователь не фокусируется на TextField ?
Я работаю над TextField во Flutter и пытаюсь добиться следующего:
Выравнивание текста по префиксу: Я хочу, чтобы текст префикса (например, «Кому:») был виден всегда, даже если пользователь не сфокусировался на TextField.
Выравнивание курсора : я...
Я работаю над TextField во Flutter и пытаюсь добиться следующего:
Выравнивание текста по префиксу: Я хочу, чтобы текст префикса (например, «Кому:») был виден всегда, даже если пользователь не сосредоточился на TextField.
Выравнивание курсора : я...
Я работаю над проектом, в котором мне нужно разместить три элемента:
Число внутри красного круга.
Заголовок выровнен по той же строке, что и число. .
Элемент , начинающийся непосредственно под заголовком.
вот мой код:
Я работаю над проектом, в котором мне нужно разместить три элемента:
Число внутри красного круга.
Заголовок выровнен по той же строке, что и число. .
Элемент , начинающийся непосредственно под заголовком.
вот мой код: