#flutter #button #widget #alignment
#flutter #кнопка #виджет #выравнивание
Вопрос:
Попытка внести одно небольшое изменение без необходимости платить разработчику…. Я хочу выровнять кнопку по нижней части экрана, но, похоже, я могу поместить ее только в текстовую область с возможностью прокрутки. Он должен быть на дисплее, чтобы зрителю не приходилось прокручивать, чтобы увидеть кнопку.
Вот код с этой страницы:
Widget showEveryday2Card() {
return FlipCard(
onFlip: () => _sound.playLocal("shuffle.mp3"),
direction: FlipDirection.HORIZONTAL, // default
//front: Image.asset('images/cards/24.png'),
front: Container(
color: Colors.white,
child: Align(
alignment: Alignment.center,
child: Image.asset('images/cards/24.png'),
),
),
back: Container(
color: Colors.white,
child: Stack(children: <Widget>[
Positioned.fill(
child: Align(
alignment: Alignment.center,
child: Image.asset('images/cards/cardbacks/back24.png'),
),
),
Center(
child: Container(
padding: EdgeInsets.only(
top: (MediaQuery.of(context).size.height > 800)
? 20
: (MediaQuery.of(context).size.height > 700) ? 10 : 0),
height: 0.5 * MediaQuery.of(context).size.height,
width: 0.8 * MediaQuery.of(context).size.width,
child: Center(
child: CupertinoScrollbar(
isAlwaysShown: true,
controller: _controller,
child: ListView(children: <Widget>[
Text(
"Scrollable text",
style: TextStyle(
fontFamily: 'GillSansMT',
fontWeight: FontWeight.normal,
color: Colors.black,
fontSize: (MediaQuery.of(context).size.height > 900)
? 30
: 14,
),
),
new RaisedButton(
onPressed: () {
Navigator.pop(context);
},
child: Text('Go back!'),
)
]),
),
),
),
),
]),
),
);
}
Если вы можете указать мне правильное направление, я был бы очень благодарен.
Спасибо!
Ответ №1:
return FlipCard(
onFlip: () => _sound.playLocal("shuffle.mp3"),
direction: FlipDirection.HORIZONTAL, // default
//front: Image.asset('images/cards/24.png'),
front: Container(
color: Colors.white,
child: Align(
alignment: Alignment.center,
child: Image.asset('images/cards/24.png'),
),
),
back: Container(
color: Colors.white,
child: Stack(children: <Widget>[
Positioned.fill(
child: Align(
alignment: Alignment.center,
child: Image.asset('images/cards/cardbacks/back24.png'),
),
),
Center(
child: Container(
padding: EdgeInsets.only(
top: (MediaQuery.of(context).size.height > 800)
? 20
: (MediaQuery.of(context).size.height > 700)
? 10
: 0),
height: 0.5 * MediaQuery.of(context).size.height,
width: 0.8 * MediaQuery.of(context).size.width,
// Made some changes here
child: Column(children: [
Expanded(
child: CupertinoScrollbar(
isAlwaysShown: true,
controller: _controller,
child: ListView(children: <Widget>[
Text("Scrollable text" * 1000,
style: TextStyle(
fontFamily: 'GillSansMT',
fontWeight: FontWeight.normal,
color: Colors.black,
fontSize:
(MediaQuery.of(context).size.height > 900)
? 30
: 14,
))
])),
),
// SizedBox(height: 10), // Uncomment if you need some space
RaisedButton(
onPressed: () {
Navigator.pop(context);
},
child: Text('Go back!'),
)
]),
),
),
]),
),
);
Попробуйте заменить тело функции этим кодом.