Виджет чернильницы, позволяющий неожиданно нажимать на область

#android #flutter #dart

Вопрос:

У меня есть кнопка, созданная с помощью контейнера и виджета Чернильницы. Вот код:

 Container(
        margin: const EdgeInsets.only(left: 30),
        height: 60,
        width: 60,
        decoration: BoxDecoration(
          // color: Colors.white,
          borderRadius: BorderRadius.circular(60),
        ),
        child: InkWell(
          onTap: () {
            // validating todo item
            if (todoController.text.isNotEmpty) {
              todoProviderObj.addTodo(
                TodoModel(
                  id: UniqueKey().toString(),
                  title: todoController.text,
                ),
              );
            }
          },
          borderRadius: BorderRadius.circular(60),
          child: const Icon(Icons.add, color: Colors.grey),
        ),
      ),
 

Теперь проблема в том, что чернильница разрешает щелчки в области, где они не должны разрешаться, как вы можете видеть на рисунке ниже (извините, что на нем не отображается мой курсор, но мой курсор находится за пределами выделенного круга, и щелчки работают за пределами этой выделенной области).:

введите описание изображения здесь

Есть ли какой-нибудь способ, которым я могу это решить?

Комментарии:

1. можете ли вы поделиться более подробным кодом

2. @YeasinSheikh, пожалуйста, взгляните сейчас. Я обновил код.

3. мне нужен полный виджет, потому что все работает нормально , можете проверить свой вопрос, а затем вставить его для меня .

4. Это полный код виджета для кнопки. Вам нужен полный код для поля ввода и кнопки?

5. да, я думаю, что ошибки исходят оттуда. также проверьте перед тем, что вы вставляете сюда,

Ответ №1:

Действительно, у вас есть квадрат 60 на 60, который трансформировался в форму круга, но все равно это квадрат, когда вы нажимаете за пределами круга, на самом деле вы нажимаете на эту область 60 на 60.

Я рекомендовал использовать плавающую кнопку действия или кнопку с повышением.

введите описание изображения здесь

Комментарии:

1. Да! Вместо этого я использую детектор жестов. Но есть ли какой-нибудь способ исправить это или это фактическое поведение чернильницы?

2. Возможно, удалив высоту, ширину и используя обивку, это сработает.