Skip to content

themeId parameter in DotLottieView() does not work #2

Description

@Capitanull

Hello, again, there's a little error in DotLottieView() where it doesn't apply the actual theme from the themeId parameter,
here's a code example:

Container(
              decoration: BoxDecoration(border: Border.all(color: Colors.red)),
              height: 300,
              width: 300,
              child: DotLottieView(
                  sourceType: "asset",
                  source: "MarkedAsDone/mark_as_DoneNew.zip",
                  height: 300,
                  width: 300,
                  autoplay: true,
                  loop: true,
                  _themeId: "light",     <------- this should change the themeId, but it doesn't ever work.
                  onViewCreated: (controller) async {
                    setState(() {
                      _controller = controller;
                    });
                  },
                 ),
            ),

I spent half an hour trying different solutions, looked for issues on my side with the lottie file etc, but soon I actually realized that it's probably an issue with the package.
How do I know that it's not an error from my side? Simple.

If we call await _controller.setTheme("light"); the function will execute successfully and the theme will apply without problems.

here is how I temporarily fixed the issue:

Container(
              decoration: BoxDecoration(border: Border.all(color: Colors.red)),
              height: 300,
              width: 300,
              child: DotLottieView(
                  sourceType: "asset",
                  source: "MarkedAsDone/mark_as_DoneNew.zip",
                  height: 300,
                  width: 300,
                  autoplay: true,
                  loop: true,
                  themeId: "light",  ------> still doesn't do anything here, adding/removing it does not affect anything
                  onViewCreated: (controller) async {
                    setState(() {
                      _controller = controller;
                    });
                  },
                  onLoad: () async {
                    await _controller!.setTheme("light");   -------> this line will apply the theme as soon as it loads, as themeId is supposed to do so.

                  }),
            ),

I did not look further into the issue to see the root cause, but I just wanted to report it so that it can get fixed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions