Mistica is a framework that contains reusable UI components and utilities.
There is a currently work in progress compose version of the library. Check the documentation here
Inside the dependency block in the build.gradle
of your application, add this line to add the library:
repositories {
mavenCentral()
}
dependencies {
...
implementation 'com.telefonica:mistica:$version'
...
}
In case you also want to include also the components catalog in your application:
dependencies {
...
implementation 'com.telefonica:mistica:$version'
implementation 'com.telefonica:mistica-catalog:$version'
...
}
Mistica provides an Android theme for each brand supported by telefonica. Just set your App or any specific activity to use any of the following:
- MisticaTheme.Movistar
- MisticaTheme.Movistar.Prominent
- MisticaTheme.O2
- MisticaTheme.O2Classic
- MisticaTheme.Vivo
- MisticaTheme.Telefonica
- MisticaTheme.Blau
<manifest ...>
<application
...
android:theme="@style/MisticaTheme.Movistar" />
</manifest>
...
<activity
...
android:theme="@style/MisticaTheme.Movistar.Prominent" />
...
- Buttons
- Inputs
- Snackbars
- Screen Feedbacks
- Load Error Feedback
- Pop Overs
- Badges
- Scroll Content Indicator
- Tags
- Lists
- Headers
- Sections
- Filters
- Highlighted Cards
- Controls
- Media Cards
- Data Cards
- Steppers
- Tabs
- Empty States
- Empty State Cards
- Callout
- Title
Library includes a set of available Text Appearance styles, applicable for all kind of TextViews.
Mistica defines 3 typographic styles to be used along with the library, these typefaces are defined as attributes and can be override using some allowed fonts. More info here
There is a demo of currently implemented components in this repository. A full list of implemented components can be found here: Components.
The app can be downloaded here or manually built.
To compile the app manually run the App module in Android Studio.
Library aar size is around 270 KB, without including transitive dependencies (Lottie, material and kotlin).
Your app size increase may depend on which of these transitive libraries are already being used, and also, the usage of them, so proguard can shrink more or less code.
Just to put an example, in a common scenario where your app is already using material and kotlin libs, app size increase should be around 400 KB
See CONTRIBUTING.md
See UPGRADING.md