Преобразование Flutter AnimatedContainer из RightToLeft - PullRequest
0 голосов
/ 03 августа 2020

в этом ниже простом коде AnimatedContainer анимация преобразования работает с Left to Right, и я хочу изменить ее на Right to Left, может ли кто-нибудь мне помочь, как я могу это сделать?

мое среднее значение изменение xOffset, yOffset и pageScale переменных

class _RedState extends State<Red> {
  GlobalKey<ScaffoldState> get _scaffoldState => widget.scaffoldState;

  bool sidebarOpen = false;

  double yOffset = 0;
  double xOffset = 0;
  double pageScale = 1;

  int selectedMenuItem = 0;

  String pageTitle = "Homepage";

  void setSidebarState() {
    setState(() {
      xOffset = sidebarOpen ? 165 : 0;
      yOffset = sidebarOpen ? 70 : 0;
      pageScale = sidebarOpen ? 0.8 : 1;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Directionality(
      textDirection: TextDirection.rtl,
      child: Scaffold(
        backgroundColor: const Color(0xffd3d7f0),
        drawer: Drawer(),
        body: Stack(
          children: <Widget>[
            AnimatedContainer(
              curve: Curves.easeInOut,
              duration: Duration(milliseconds: 200),
              transform: Matrix4.translationValues(xOffset, yOffset, -1.0)..scale(pageScale),
              width: double.infinity,
              height: double.infinity,
              child: Text('test'),
            ),

          ],
        ),
      ),
    );
  }
}

1 Ответ

1 голос
/ 03 августа 2020

изменить xOffset на отрицательное значение

xOffset = sidebarOpen ? -165 : 0;
...