#ios #flutter #alignment
#iOS #flutter #выравнивание
Вопрос:
В моем приложении не возникает проблемы с выравниванием в примерах, которые я покажу ниже, при работе на устройствах Android. Когда я хочу запустить его на своем устройстве iOS, у меня возникает следующая проблема с выравниванием.
Здесь начинается проблемное выравнивание. Мое приложение претерпевает полностью симметричные изменения, когда я выбираю персидский или арабский язык, и некоторые смайлики выровнены правильно, в то время как другие выглядят искаженными.
Мой код :
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: ortaMavi,
leading: IconButton(
onPressed: () {
Navigator.of(context).pop();
},
icon: Icon(
Icons.arrow_back_ios,
size: 20,
color: Colors.white,
)),
title: Center(child: Text(titleHolder)),
actions: <Widget>[
Center(
child: Container(
margin: EdgeInsets.all(15),
child: Text(
flagHolder,
style: TextStyle(fontSize: 25),
)),
)
],
),
body: SafeArea(
child: ListView.builder(
padding: const EdgeInsets.symmetric(vertical: 5),
itemCount: countries.length,
itemBuilder: (BuildContext context, int index) {
return GestureDetector(
onTap: () {
EasyLocalizationProvider.of(context)
.data
.changeLocale(langs[index]);
setState(() {
titleHolder = countries[index];
flagHolder = flags[index];
selectedLangIndex = index;
});
},
child: Container(
decoration: BoxDecoration(
color:
selectedLangIndex != null amp;amp; selectedLangIndex == index
? ortaMavi.withOpacity(0.2)
: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.lightBlueAccent.withOpacity(0.5),
spreadRadius: 2,
blurRadius: 3,
offset: Offset(0, 3), // changes position of shadow
),
],
),
height: 50,
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 15),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(
'${countries[index]}',
style: TextStyle(
fontSize: 20,
color: selectedLangIndex != null amp;amp;
selectedLangIndex == index
? Colors.white
: Colors.black),
),
Text(
flags[index],
style: TextStyle(fontSize: 25),
)
],
),
),
),
);
}),
),
);
}
Комментарии:
1. если это возможно, пожалуйста, поделитесь своим кодом
2. Конечно. Я добавлю код.
3. вы пытались обернуть свой текстовый виджет с
Directionality
помощью?
Ответ №1:
Вы можете поместить строку flags в SizedBox
SizedBox(
width: 200.0,
height: 200.0,
child:Text(
flags[index],
),
)