Develop a design system based on layouts from Figma in the form of a Gradle project.
Functional requirements:
- The library should come with a demo application that includes all components in all styles.
- No crashes and frame drops.
- Minimum SDK version: Android 7.0 (API level 24)
Technology requirements and limitations:
- Only Kotlin.
- You can only use View/ViewGroup.
- Dependencies on third-party libraries are prohibited during development.
- You can use third-party frameworks for testing.
This custom button inherits from AppCompatButton, so it has all the same properties. For example:
android:text="Button"
Change the title and description like this:
app:title="Item title"
app:description="Any description"
Change the style to dark:
app:isDarkStyle="true"
Change the header and subheader like this:
app:header="Header text"
app:subheader="Any subheader text"
Change the style to dark:
app:isDarkStyle="true"
Change the header and subheader like this:
app:header="Header text"
app:subheader="Any subheader text"
Change the style to dark:
app:isDarkStyle="true"
Change button text:
app:buttonText="Button"
The vertical list is implemented through a recycler view. Each element of the list is represented by the item shown above. For each item, a model is used in which there are two fields: a title and a description.
Change the header like this:
app:header="Header text"
Change the style to dark:
app:isDarkStyle="true"
Change the header like this:
app:header="Header text"
Change the style to dark:
app:isDarkStyle="true"
Change button text:
app:buttonText="Button"
The horizontal list is implemented through a recycler view. Each element of the list is represented by a special item for the horizontal list. For each item, a model is used in which there are two fields: a title and a description.
Change the header like this:
app:header="Header text"
Change the header like this:
app:header="Header text"
Change button text:
app:buttonText="Button"