Как сделать «ссылку» из CheckboxlistTile на другую страницу на Flutter - PullRequest
0 голосов
/ 24 апреля 2020

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

Вот мой код:

 CheckboxListTile(
        value: checkboxValue,
      onChanged: (val) {
        if (checkboxValue == false) {
          setState(() {
            checkboxValue = true;
          });
        } else if (checkboxValue == true) {
          setState(() {
            checkboxValue = false;
          });
        }
      },
      subtitle: !checkboxValue
          ? Text(
              'Required.',
              style: TextStyle(color: Colors.red),
            )
          : null,
      title: new Text(
        'I agree to the Terms and Conditions.',
        style: TextStyle(fontSize: 14.0),
      ),
      controlAffinity: ListTileControlAffinity.leading,
      activeColor: Colors.green,
    ),
    ```

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Оберните ваш текстовый виджет с GestureDetector(). Смотрите код ниже

CheckboxListTile(
                value: checkboxValue,
                onChanged: (val) {
                  setState(() {
                    checkboxValue = !checkboxValue;
                  });
                },
                subtitle: !checkboxValue
                    ? Text(
                  'Required.',
                  style: TextStyle(color: Colors.red),
                )
                    : null,
                title: GestureDetector(
                  onTap: (){
                    Navigator.of(context).push(
                      MaterialPageRoute(
                        builder: (BuildContext context){
                          return Page();
                        },
                      ),
                    );
                  },
                  child: Text(
                    'I agree to the Terms and Conditions.',
                    style: TextStyle(fontSize: 14.0),
                  ),
                ),
                controlAffinity: ListTileControlAffinity.leading,
                activeColor: Colors.green,
              )
0 голосов
/ 24 апреля 2020

Оберните текст Inkwell или GestureDetector.

Пример кода здесь:

GestureDetector(
            onTap: () { },
            child: Text(
              "Sample Text",
              style: TextStyle(
                  fontWeight: FontWeight.w800, color: Colors.blue
              ),
            ),
          )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...