Вызов класса при нажатии кнопки flutter

#flutter #flutter-layout

#flutter #flutter-макет

Вопрос:

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

Вы можете проверить эту картинку здесь: https://gyazo.com/f9cc3e2c1f48e9efeb7b1d1c9b0b988e?token=2a469e052082aa1b5cddca06b8514a84

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

Вот кнопка

       child: RaisedButton(
  
  elevation: 0,
  shape: RoundedRectangleBorder(
    borderRadius: BorderRadius.circular(40.0),
    side: BorderSide(color: Colors.transparent)),
  onPressed: () {print('asd');},
  color: Colors.transparent,
  textColor: Colors.white,
  child: Text('Add Device', style: TextStyle(color: Colors.white, fontSize: 18)),
  
),
  

Ant класс находится в другой папке с именем ‘HomeCareKit()’

Есть ли у вас какие-либо советы, как я могу это сделать?

Ответ №1:

Использование Navigator.push() ,
пример:

 onPressed: () {
    Navigator.push(context, MaterialPageRoute(builder: (context) => HomeCareKit()));
},
  

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

1. я получаю некоторые ошибки при добавлении этой строки: gyazo.com/f3c2f65fda407fb61d6a65edc614162e

2. onPressed() метод вашей кнопки, также можете ли вы показать свой код?

3. это нажатие: gyazo.com/57f5f9bba32abd6cf4ba88aa3ffddbd8

4. вот как начинается класс HomeCareKit: gyazo.com/a0742af06aa76bca78d7d8c4e840e3a7

5. Это работает, но я получаю эту ошибку gyazo.com/63af20e1e14ac97d34cf801ebed561cb если я добавляю другую страницу, она перенаправляет на страницу, но если я добавляю класс, я получаю эту ошибку.

Ответ №2:

Если вы хотите перейти на другой экран, можете использовать flutter Навигатор по умолчанию

например

    onPressed: () {
        Navigator.push(
          context,
          MaterialPageRoute(
            builder: (context) => AdsDetailes(
              ads: ads,
            ),
          ),
        );
      },
  

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

1. Я хочу, чтобы при нажатии кнопки добавлялся виджет на текущий экран, а не открывалась новая страница.

2. Затем сохраните виджеты в списке и при нажатии кнопки добавьте новый виджет в список.