Так что я некоторое время изучал флаттер, и я застрял в этом.Извините, если это нубистский вопрос.В настоящее время я пытаюсь создать что-то вроде вкладки карты.Информация и виджет будут храниться на карточке.
Представьте себе что-то вроде Tinder, где у них несколько стопок карт и проведите пальцем влево и вправо для навигации.
Я планирую создать это, но не могуКажется, найти способ добавить / визуализировать новую карту с помощью кнопки.
Это похоже на добавление чего-либо в список, Flutter будет использовать построитель ListView, где мы добавляем в список.Но нет построителя TabBarView.Это то, что невозможно сделать?Я пытаюсь поместить список во вкладку, но он все равно будет не таким.
Я создал здесь базовый скелет, чтобы помочь передать смысл.Таким образом, карта будет проведена влево и вправо, и в панели приложения есть кнопка для добавления карты.Длина теперь 2, и я хотел, чтобы кнопка отрисовала третью карту.Возможно ли это?
Заранее спасибо!
import 'package:flutter/material.dart';
void main() {
runApp(new MaterialApp(
home: new CardStack(),
));
}
class CardStack extends StatefulWidget {
@override
_MainState createState() => new _MainState();
}
class _MainState extends State<CardStack> with SingleTickerProviderStateMixin {
TabController _cardController;
@override
void initState() {
super.initState();
_cardController = new TabController(vsync: this, length: 2);
}
@override
void dispose() {
_cardController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
backgroundColor: Colors.grey[300],
appBar: new AppBar(
actions: <Widget>[
new IconButton(
icon: const Icon(Icons.add),
tooltip: 'Add Tabs',
onPressed: null,
),
],
title: new Text("Title Here"),
bottom: new PreferredSize(
preferredSize: const Size.fromHeight(20.0),
child: new Theme(
data: Theme.of(context).copyWith(accentColor: Colors.grey),
child: new Container(
height: 50.0,
alignment: Alignment.center,
child: new TabPageSelector(controller: _cardController),
),
)
)
),
body: new TabBarView(
controller: _cardController,
children: <Widget>[
new Center(
child: new Card(
child: new Container(
height: 450.0,
width: 300.0,
child: new IconButton(
icon: new Icon(Icons.favorite, size: 100.0),
tooltip: 'Favorited',
onPressed: null,
)
),
),
),
new Center(
child: new Card(
child: new Container(
height: 450.0,
width: 300.0,
child: new IconButton(
icon: new Icon(Icons.local_pizza, size: 50.0,),
tooltip: 'Pizza',
onPressed: null,
)
),
),
),
],
),
);
}
}