LabelText TextFormFeild на FocusedBorder во флаттере не отображается должным образом

Привет, я хочу, чтобы текст метки находился ниже верхней границы onFocusedBorder из TextFormField, не проходите между верхней границей. Как я могу этого добиться? Привет, я хочу, чтобы текст метки находился ниже верхней границыonFocusedBorder из TextFormField, не проходите между верхней границей. Как я могу этого добиться?

Ниже приведен код TextFormFeild

https://i.stack.imgur.com/zO6HR.gif

Ниже приведен код TextFormFeild

Theme(
        data: Theme.of(context).copyWith(primaryColor: Colors.black),
       
 child: ClipRRect(
          borderRadius: BorderRadius.all(Radius.circular(33)),
          child: Container(
            color: Colors.white,
            height: deviceSize
                .height, // Ignore this
            
child: TextFormField(
              style: TextStyle(color: Colors.black), // Text written color
              controller: _controller,
              cursorColor: Colors.black,

              decoration: InputDecoration(
                fillColor: Colors.black,
                labelText: "What are you looking for?",
                labelStyle: TextStyle(
                  color: Colors.black.withOpacity(0.7),
                  fontSize: deviceSize.height * 0.4,
                ),

                prefixIcon: IconButton(
                  color: Colors.black.withOpacity(0.5),
                  icon: Icon(
                    Icons.search,
                    size: deviceSize.height * 0.6,
                  ),
                  onPressed: () {
                    // Search functionality here
                  },
                ),

                suffixIcon: IconButton(
                  color: Colors.black.withOpacity(0.8),
                  icon: Icon(
                    Icons.filter_list,
                    size: deviceSize.height * 0.6,
                  ),
                  onPressed: () => _controller.clear(),
                ),

              
                focusedBorder: OutlineInputBorder(
                  borderRadius: BorderRadius.circular(33),
                  borderSide: BorderSide(
                      color: Colors.brown,
                      width: 0.7,
                      style: BorderStyle.solid),
                ),
              ),
            ),
          ),
        ),
      ),

1 ответ

Просто замените labelText и labelStyle на hintText и hintStyle.

Причина, по которой он перемещается вверх, заключается в том, что labelText остается и заставляет вас печатать с новой строки.

Другие вопросы по тегам