I think it’s fair to say that everyone knows what an app is, right? The thing that amazes me about apps is how many different types of apps there are, and how many different variations there are within each category, like Android vs iOS. For example, I have a recent obsession with a movie app called “Movies”. What makes this app so interesting is that it’s an experimental movie app. There are a few different versions of “Movies” out there, and each version has a different layout. This layout changes depending on what kind of movie you’re watching. For example, if I was watching a movie about insects, it would show the section about insects as a list. And if I were watching a movie about something
This is the first post of a few tutorials on displaying moviments in an android app. The goal of these blog posts is to show how to implement it. It is not a tutorial for MotionLayout, it will be more like a description of the process and what I might have done wrong. The process I show is the first version from the complete one, if you want to keep reading and you are interested in MotionLayout, you can find the complete tutorial and download the code here: https://github.com/jesusfreitas/MotionLayout.git
Films. App
Movies. is an example of a MotionLayout experience preview application.
Updating of results
Version | Code |
---|---|
- Added change to the transition of the relative progression of the movie carousel and the progression of the lower movie information.
- The transition between the course of the film carousel and the course of the film ranking is relatively changed.
- Some transition values of the film carousel are configured.
- Correction of the transition of the film description.
Result
Version | Code |
---|---|
Characteristics
- Examples of advanced animations that use only the ConstraintLayout and MotionLayout APIs.
- Nested MotionLayouts are shaped as CustomViews. You can have multiple MotionLayouts on a screen and manipulate them however you want.
- Examples of different carousel relationships and progression transitions.
- Examples of program-controlled switching and distribution of progression between transitions.
- An excellent example of step-by-step animation and its REAL application.
MotionLayout benefits:
- Animate standard scripts simply and easily with the advanced preview/editor.
- Ability to split MotionLayouts into nested templates (e.g. CustomView).
- ImageFilterView is like the icing on the cake of MotionLayout tools.
- Ability to perform multiple, nested MotionLayout transitions simultaneously.
- Separates the animation from the code in the motion scene file.
- Ability to migrate custom views and their attributes.
- Step by step animations and their treatment.
MotionLayout error:
- Advanced animations are hard to find these days, especially with multitouch.
- The carousel does not offer a quick solution, it is better to use ViewPager or RecyclerView.
- MotionLabel is a BUGGY/Artifact of transition and does not support custom fonts.
- Multitouch support should be significantly improved. It is not possible to drag vertically/horizontally and click at the same time.
- Again, the drag-and-click carousel is the kind of feature we’ve been missing.
- NestedScrollView/nestedscroll in the transition does not work. It is better to use AppBar/ CollapsingToolbar.
- Sometimes MotionLayout shows artifacts when it quickly changes transitions.
- The editor does not invalidate the cache, which means you have to restart Android Studio often.
- Sometimes ConstraintSet/Constraint replacements don’t work correctly, so you have to rewrite the entire constraint from its original state.
- Lack of functionality to set/change transitions properly. For now, it works best if you have a scene with a transition.
- You cannot expand the MotionLayout as a CustomView because there is no method to programmatically set the scene. This forces the MotionLayout to be wrapped in a FrameLayout or another.
- It’s still in beta, so the latest Android Studio beta/alpha version is required.
- Lack of ability to link multiple/several MotionLayouts together. If you z. B. animate the main transition and thus want to extend the animation state to the others.
Summary
MotionLayout is a great solution for simple and advanced screen animations. This works well for a single transition to the end and back, but you may have problems with multiple transitions. It has a handy scene editor, which allows you to test transitions in Android Studio. Another advantage of MotionLayouts is the ability to split them into CustomViews. MotionLayout also supports touch events such as -click and swipe, but I would not recommend using it at this time as it still has issues, especially in Carousel. The upcoming helpers, Carousel and MotionLabel, are not interesting yet because the API is not yet complete and has some real problems. ImageFilterView and MotionEffect, on the other hand, do a good job. In my opinion, MotionLayout should be used for impressive screen animations where there are no touch events, for example. For example for a home screen, an instruction screen or a dashboard screen.
Environment
This example application uses the following version of ConstrainLayout: Dependencies { implementation(androidx.constraintlayout:constraintlayout:2.1.0-beta02) }
GitHub
https://github.com/GIGAMOLE/MoviesApp
Related Tags:
mvvm movie appmovie app source code githubmovie app githubmovie streaming app githubmovie app using mvvmmovie downloader android github,People also search for,Privacy settings,How Search works,mvvm movie app,movie app source code github,movie app github,movie streaming app github,movie app using mvvm,movie downloader android github,movies and tv shows app github,android movie app source code