我有需要水平滚动的内容,我从 scrollDirection: Axis.horizontal 使用,但我的问题是我想从右侧开始滚动,我的意思是使用水平轴的 SingleChildScrollView 从左到右滚动子级,但我希望 SingleChildScrollView 从从右到左,我用 Align 包裹 singleChildScrollView 并将对齐设置为右,但我不起作用。这是我的代码:
SingleChildScrollView(
scrollDirection: Axis.vertical,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Padding(
padding: EdgeInsets.only(
top: 2 * SizeConfig.heightMultiplier),
child: DataTable(
showBottomBorder: false,
headingTextStyle: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 2.5 * SizeConfig.heightMultiplier,
color: Colors.black,
),
dataTextStyle: TextStyle(
fontSize: 2.5 * SizeConfig.heightMultiplier,
color: Colors.black),
columns: <DataColumn>[
DataColumn(
label: Text(
'حساب',
textDirection: TextDirection.rtl,
),
),
DataColumn(
label: Text(
'تفصیل',
textDirection: TextDirection.rtl,
),
),
DataColumn(
label: Text(
'بردگی',
textDirection: TextDirection.rtl,
),
),
DataColumn(
label: Text(
'آوردگی',
textDirection: TextDirection.rtl,
),
),
DataColumn(
label: Text(
'تاریخ',
textDirection: TextDirection.rtl,
),
),
],
rows:<DataRow> [ DataRow(
cells: <DataCell>[
DataCell(
Text('ملیجه ارش',textDirection:
TextDirection.rtl,
)
),
DataCell(
Text('ملیجه ارش',
textDirection: TextDirection.rtl,)
),
DataCell(Text(
Text('ملیجه ارش',
textDirection: TextDirection.rtl,
)),
DataCell(Text(
Text('ملیجه ارش',
textDirection: TextDirection.rtl,
)),
DataCell(Text(
Text('ملیجه ارش',
textDirection: TextDirection.rtl,
)
),
),
);
},
答案 0 :(得分:1)
只需设置reverse:true
。
代码看起来像
SingleChildScrollView(
scrollDirection: Axis.vertical,
reverse:true,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Padding(
padding: EdgeInsets.only(
top: 2 * SizeConfig.heightMultiplier),
child: DataTable(
showBottomBorder: false,
headingTextStyle: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 2.5 * SizeConfig.heightMultiplier,
color: Colors.black,
),
dataTextStyle: TextStyle(
fontSize: 2.5 * SizeConfig.heightMultiplier,
color: Colors.black),
columns: <DataColumn>[
DataColumn(
label: Text(
'حساب',
textDirection: TextDirection.rtl,
),
),
DataColumn(
label: Text(
'تفصیل',
textDirection: TextDirection.rtl,
),
),
DataColumn(
label: Text(
'بردگی',
textDirection: TextDirection.rtl,
),
),
DataColumn(
label: Text(
'آوردگی',
textDirection: TextDirection.rtl,
),
),
DataColumn(
label: Text(
'تاریخ',
textDirection: TextDirection.rtl,
),
),
],
rows: state.roznamcha
.map(
(data) => DataRow(
cells: <DataCell>[
DataCell(
GetAccount(
id: data.accountNum,
),
),
DataCell(
Text(
data.description,
textDirection: TextDirection.rtl,
),
),
DataCell(Text(
data.debit.toString(),
textDirection: TextDirection.rtl,
)),
DataCell(Text(
data.credit.toString(),
textDirection: TextDirection.rtl,
)),
DataCell(Text(
data.issueDate.toString(),
textDirection: TextDirection.rtl,
)),
// DataCell(
// //Text('ii')
// InkWell(
// onTap: () async {
// CustomAlertDialog
// .showAlertDialog(
// context: context,
// deleteFunction:
// () async {
// await BlocProvider.of<
// RoznamchaCubit>(
// context)
// .deleteRoznamcha(data
// .transactionNumber)
// .whenComplete(() {
// ScaffoldMessenger
// .of(context)
// .showSnackBar(
// SnackBar(
// content:
// Text(
// 'حذف شد به اجازه ات',
// textDirection:
// TextDirection
// .rtl,
// )));
// Navigator.pop(
// context);
// });
// });
// },
// child: Text('حذف'))),
],
),
)
.toList()),
),
),
);
},
答案 1 :(得分:0)
在您的文本小部件中使用 textDirection: TextDirection.rtl
答案 2 :(得分:0)
试试这个
SingleChildScrollView(
scrollDirection: Axis.horizontal,
// add this line
dragStartBehavior: DragStartBehavior.down,
...
)