UIKit uses the default theme as part of the design language.
Theme customization
The UIKit looks great without any customizations, though you can also edit the colors and fronts in the themes to suit your preferences all the same. However, if you wish to customize the theme, you can declare changes to both colors and typography.
Colors
UIKit uses a small set of declared colors to simplify the design task for developers. These colors are automatically rendered at appropriate shades to communicate states and interaction to the users.
Color
Description
Default
Primary
Used for buttons and primary call to actions
#1054DE
Secondary
Used in secondary UI elements
#292B32
Alert
Used when informing users of errors or information that requires an attention.
#FA4D30
Highlight
Used for hyperlink text
#1054DE
Base
Text presented on light background
#292B32
Base Inverse
Text presented on dark background
#FFFFFF
Message Bubble
Background color of message bubble sent by the user
#1054DE
Message Bubble Inverse
Background color of message bubble sent to the user
#EBECEF
Usage
Customize color theme by declaring color code to the specific color key.
When you integrate UIKit to your application, it applies the our customized theme to UIKit by default. This Amity.Base.Theme.AmityApp style extends a theme from our material based theme and includes overrides for styling attributes that are used by key UI elements. So you can quickly customize UIkit style by overriding the provided theme file and its attributes. Please note that all following attributes must be overriden.
For example, your styles.xml file should look similar to this:
<!-- Override Amity UIKIT Theme, all of these attributes are mandatory. You could override them , but please don't remove any. Otherwise ui theme may be strange--> <stylename="Amity.Base.Theme.AmityApp"parent="Amity.Base.Theme.MaterialThemeBuilder"><!-- Color of status bar--> <itemname="android:statusBarColor">#000000</item><!-- Light/dark theme of status bar--> <itemname="android:windowLightStatusBar"tools:targetApi="23">false</item><!-- Navigation bar color--> <itemname="android:navigationBarColor">#000000</item><!-- Global toolbar style--> <itemname="toolbarStyle">@style/MyToolbarStyle</item><!-- Primary accent color--> <itemname="colorPrimary">@color/amityColorPrimary</item><!-- Secondary accent color--> <itemname="colorSecondary">@color/amityColorSecondary</item><!-- Global background color--> <itemname="android:colorBackground">@color/amityColorWhite</item> <itemname="colorSurface">@color/amityColorWhite</item> <itemname="colorError">@color/amityColorAlert</item> <itemname="colorOnError">@color/amityColorWhite</item> <itemname="android:actionMenuTextColor">@color/amityColorHighlight</item> <itemname="materialAlertDialogTheme">@style/AmityAlertDialogTheme</item><!-- Snackbar style--> <itemname="snackbarStyle">@style/AmitySnackBarStyle</item><!-- Search view style--> <itemname="searchViewStyle">@style/AmitySearchViewStyle</item> <itemname="shapeAppearanceSmallComponent">@style/Amity.ShapeAppearance.Theme.SmallComponent </item> <itemname="shapeAppearanceMediumComponent"> @style/Amity.ShapeAppearance.Theme.MediumComponent </item> <itemname="shapeAppearanceLargeComponent">@style/Amity.ShapeAppearance.Theme.LargeComponent </item> <itemname="bottomSheetDialogTheme">@style/Amity.ThemeOverlay.Theme.BottomSheetDialog</item> </style><!-- Example of custom toolbar style, color is the only option can be customised here--> <stylename="MyToolbarStyle"parent="Widget.MaterialComponents.Toolbar"><!-- Color of toolbar--> <itemname="android:background">#3A3A3A</item> </style><!-- Override Amity UIKIT text style in toolbar, all of these attributes are mandatory. You could override them but please don't remove any. Otherwise ui theme may be strange--> <stylename="ToolBarLeftTextStyle"><!-- Please don't change width and height--> <itemname="android:layout_width">0dp</item> <itemname="android:layout_height">wrap_content</item><!-- Text size of the toolbar title text--> <itemname="android:textSize">@dimen/amity_text_size_title</item><!-- Style of the toolbar title text--> <itemname="android:textStyle">bold</item><!-- Margin of the toolbar title text--> <itemname="android:layout_marginStart">@dimen/amity_padding_m1</item><!-- Text color of the toolbar title text--> <itemname="android:textColor">#FFFF</item> <itemname="android:maxLines">1</item> <itemname="android:ellipsize">end</item> <itemname="android:layout_marginEnd">@dimen/amity_padding_m1</item> </style><!-- Override Amity UIKIT left icon in toolbar, all of these attributes are mandatory. You could override them but please don't remove any. Otherwise ui theme may be strange--> <stylename="ToolBarLeftDrawableStyle"><!-- Please don't change width and height--> <itemname="android:layout_width">wrap_content</item> <itemname="android:layout_height">wrap_content</item><!-- Color of the toolbar icon--> <itemname="android:tint">#FFFF</item> <itemname="android:layout_marginStart">@dimen/amity_padding_m2</item> </style>