From f1dc5cf5c3b21176e552cacfd38e7be9a89f8929 Mon Sep 17 00:00:00 2001 From: Pramod Bharti Date: Wed, 11 Oct 2023 05:44:54 +0530 Subject: [PATCH] custom theme added --- .../com/pramodbharti/filmo/ui/theme/Color.kt | 69 +++++++++++++-- .../com/pramodbharti/filmo/ui/theme/Shape.kt | 13 +++ .../com/pramodbharti/filmo/ui/theme/Theme.kt | 84 ++++++++++++++----- .../com/pramodbharti/filmo/ui/theme/Type.kt | 38 +++++---- 4 files changed, 162 insertions(+), 42 deletions(-) create mode 100644 app/src/main/java/com/pramodbharti/filmo/ui/theme/Shape.kt diff --git a/app/src/main/java/com/pramodbharti/filmo/ui/theme/Color.kt b/app/src/main/java/com/pramodbharti/filmo/ui/theme/Color.kt index b7094ac..0ec6be8 100644 --- a/app/src/main/java/com/pramodbharti/filmo/ui/theme/Color.kt +++ b/app/src/main/java/com/pramodbharti/filmo/ui/theme/Color.kt @@ -2,10 +2,67 @@ package com.pramodbharti.filmo.ui.theme import androidx.compose.ui.graphics.Color -val Purple80 = Color(0xFFD0BCFF) -val PurpleGrey80 = Color(0xFFCCC2DC) -val Pink80 = Color(0xFFEFB8C8) +val md_theme_light_primary = Color(0xFF00639C) +val md_theme_light_onPrimary = Color(0xFFFFFFFF) +val md_theme_light_primaryContainer = Color(0xFFCEE5FF) +val md_theme_light_onPrimaryContainer = Color(0xFF001D33) +val md_theme_light_secondary = Color(0xFF52606F) +val md_theme_light_onSecondary = Color(0xFFFFFFFF) +val md_theme_light_secondaryContainer = Color(0xFFD5E4F7) +val md_theme_light_onSecondaryContainer = Color(0xFF0E1D2A) +val md_theme_light_tertiary = Color(0xFF68577A) +val md_theme_light_onTertiary = Color(0xFFFFFFFF) +val md_theme_light_tertiaryContainer = Color(0xFFEFDBFF) +val md_theme_light_onTertiaryContainer = Color(0xFF231533) +val md_theme_light_error = Color(0xFFBA1A1A) +val md_theme_light_errorContainer = Color(0xFFFFDAD6) +val md_theme_light_onError = Color(0xFFFFFFFF) +val md_theme_light_onErrorContainer = Color(0xFF410002) +val md_theme_light_background = Color(0xFFFCFCFF) +val md_theme_light_onBackground = Color(0xFF1A1C1E) +val md_theme_light_surface = Color(0xFFFCFCFF) +val md_theme_light_onSurface = Color(0xFF1A1C1E) +val md_theme_light_surfaceVariant = Color(0xFFDEE3EB) +val md_theme_light_onSurfaceVariant = Color(0xFF42474E) +val md_theme_light_outline = Color(0xFF72777F) +val md_theme_light_inverseOnSurface = Color(0xFFF1F0F4) +val md_theme_light_inverseSurface = Color(0xFF2F3033) +val md_theme_light_inversePrimary = Color(0xFF98CBFF) +val md_theme_light_shadow = Color(0xFF000000) +val md_theme_light_surfaceTint = Color(0xFF00639C) +val md_theme_light_outlineVariant = Color(0xFFC2C7CF) +val md_theme_light_scrim = Color(0xFF000000) -val Purple40 = Color(0xFF6650a4) -val PurpleGrey40 = Color(0xFF625b71) -val Pink40 = Color(0xFF7D5260) \ No newline at end of file +val md_theme_dark_primary = Color(0xFF98CBFF) +val md_theme_dark_onPrimary = Color(0xFF003354) +val md_theme_dark_primaryContainer = Color(0xFF004A77) +val md_theme_dark_onPrimaryContainer = Color(0xFFCEE5FF) +val md_theme_dark_secondary = Color(0xFFB9C8DA) +val md_theme_dark_onSecondary = Color(0xFF243240) +val md_theme_dark_secondaryContainer = Color(0xFF3A4857) +val md_theme_dark_onSecondaryContainer = Color(0xFFD5E4F7) +val md_theme_dark_tertiary = Color(0xFFD3BFE6) +val md_theme_dark_onTertiary = Color(0xFF392A49) +val md_theme_dark_tertiaryContainer = Color(0xFF504061) +val md_theme_dark_onTertiaryContainer = Color(0xFFEFDBFF) +val md_theme_dark_error = Color(0xFFFFB4AB) +val md_theme_dark_errorContainer = Color(0xFF93000A) +val md_theme_dark_onError = Color(0xFF690005) +val md_theme_dark_onErrorContainer = Color(0xFFFFDAD6) +val md_theme_dark_background = Color(0xFF1A1C1E) +val md_theme_dark_onBackground = Color(0xFFE2E2E5) +val md_theme_dark_surface = Color(0xFF1A1C1E) +val md_theme_dark_onSurface = Color(0xFFE2E2E5) +val md_theme_dark_surfaceVariant = Color(0xFF42474E) +val md_theme_dark_onSurfaceVariant = Color(0xFFC2C7CF) +val md_theme_dark_outline = Color(0xFF8C9199) +val md_theme_dark_inverseOnSurface = Color(0xFF1A1C1E) +val md_theme_dark_inverseSurface = Color(0xFFE2E2E5) +val md_theme_dark_inversePrimary = Color(0xFF00639C) +val md_theme_dark_shadow = Color(0xFF000000) +val md_theme_dark_surfaceTint = Color(0xFF98CBFF) +val md_theme_dark_outlineVariant = Color(0xFF42474E) +val md_theme_dark_scrim = Color(0xFF000000) + + +val seed = Color(0xFF2C3E50) \ No newline at end of file diff --git a/app/src/main/java/com/pramodbharti/filmo/ui/theme/Shape.kt b/app/src/main/java/com/pramodbharti/filmo/ui/theme/Shape.kt new file mode 100644 index 0000000..bb95252 --- /dev/null +++ b/app/src/main/java/com/pramodbharti/filmo/ui/theme/Shape.kt @@ -0,0 +1,13 @@ +package com.pramodbharti.filmo.ui.theme + +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Shapes +import androidx.compose.ui.unit.dp + +val shapes = Shapes( + extraLarge = RoundedCornerShape(32.dp), + large = RoundedCornerShape(24.dp), + extraSmall = RoundedCornerShape(8.dp), + small = RoundedCornerShape(4.dp), + medium = RoundedCornerShape(16.dp) +) \ No newline at end of file diff --git a/app/src/main/java/com/pramodbharti/filmo/ui/theme/Theme.kt b/app/src/main/java/com/pramodbharti/filmo/ui/theme/Theme.kt index fe85427..6eb0341 100644 --- a/app/src/main/java/com/pramodbharti/filmo/ui/theme/Theme.kt +++ b/app/src/main/java/com/pramodbharti/filmo/ui/theme/Theme.kt @@ -17,26 +17,69 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalView import androidx.core.view.WindowCompat -private val DarkColorScheme = darkColorScheme( - primary = Purple80, - secondary = PurpleGrey80, - tertiary = Pink80 +private val LightColors = lightColorScheme( + primary = md_theme_light_primary, + onPrimary = md_theme_light_onPrimary, + primaryContainer = md_theme_light_primaryContainer, + onPrimaryContainer = md_theme_light_onPrimaryContainer, + secondary = md_theme_light_secondary, + onSecondary = md_theme_light_onSecondary, + secondaryContainer = md_theme_light_secondaryContainer, + onSecondaryContainer = md_theme_light_onSecondaryContainer, + tertiary = md_theme_light_tertiary, + onTertiary = md_theme_light_onTertiary, + tertiaryContainer = md_theme_light_tertiaryContainer, + onTertiaryContainer = md_theme_light_onTertiaryContainer, + error = md_theme_light_error, + errorContainer = md_theme_light_errorContainer, + onError = md_theme_light_onError, + onErrorContainer = md_theme_light_onErrorContainer, + background = md_theme_light_background, + onBackground = md_theme_light_onBackground, + surface = md_theme_light_surface, + onSurface = md_theme_light_onSurface, + surfaceVariant = md_theme_light_surfaceVariant, + onSurfaceVariant = md_theme_light_onSurfaceVariant, + outline = md_theme_light_outline, + inverseOnSurface = md_theme_light_inverseOnSurface, + inverseSurface = md_theme_light_inverseSurface, + inversePrimary = md_theme_light_inversePrimary, + surfaceTint = md_theme_light_surfaceTint, + outlineVariant = md_theme_light_outlineVariant, + scrim = md_theme_light_scrim, ) -private val LightColorScheme = lightColorScheme( - primary = Purple40, - secondary = PurpleGrey40, - tertiary = Pink40 - /* Other default colors to override - background = Color(0xFFFFFBFE), - surface = Color(0xFFFFFBFE), - onPrimary = Color.White, - onSecondary = Color.White, - onTertiary = Color.White, - onBackground = Color(0xFF1C1B1F), - onSurface = Color(0xFF1C1B1F), - */ +private val DarkColors = darkColorScheme( + primary = md_theme_dark_primary, + onPrimary = md_theme_dark_onPrimary, + primaryContainer = md_theme_dark_primaryContainer, + onPrimaryContainer = md_theme_dark_onPrimaryContainer, + secondary = md_theme_dark_secondary, + onSecondary = md_theme_dark_onSecondary, + secondaryContainer = md_theme_dark_secondaryContainer, + onSecondaryContainer = md_theme_dark_onSecondaryContainer, + tertiary = md_theme_dark_tertiary, + onTertiary = md_theme_dark_onTertiary, + tertiaryContainer = md_theme_dark_tertiaryContainer, + onTertiaryContainer = md_theme_dark_onTertiaryContainer, + error = md_theme_dark_error, + errorContainer = md_theme_dark_errorContainer, + onError = md_theme_dark_onError, + onErrorContainer = md_theme_dark_onErrorContainer, + background = md_theme_dark_background, + onBackground = md_theme_dark_onBackground, + surface = md_theme_dark_surface, + onSurface = md_theme_dark_onSurface, + surfaceVariant = md_theme_dark_surfaceVariant, + onSurfaceVariant = md_theme_dark_onSurfaceVariant, + outline = md_theme_dark_outline, + inverseOnSurface = md_theme_dark_inverseOnSurface, + inverseSurface = md_theme_dark_inverseSurface, + inversePrimary = md_theme_dark_inversePrimary, + surfaceTint = md_theme_dark_surfaceTint, + outlineVariant = md_theme_dark_outlineVariant, + scrim = md_theme_dark_scrim, ) @Composable @@ -52,8 +95,8 @@ fun FilmoTheme( if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context) } - darkTheme -> DarkColorScheme - else -> LightColorScheme + darkTheme -> DarkColors + else -> LightColors } val view = LocalView.current if (!view.isInEditMode) { @@ -66,7 +109,8 @@ fun FilmoTheme( MaterialTheme( colorScheme = colorScheme, - typography = Typography, + typography = typography, + shapes = shapes, content = content ) } \ No newline at end of file diff --git a/app/src/main/java/com/pramodbharti/filmo/ui/theme/Type.kt b/app/src/main/java/com/pramodbharti/filmo/ui/theme/Type.kt index cc4e5d0..ee2b3ed 100644 --- a/app/src/main/java/com/pramodbharti/filmo/ui/theme/Type.kt +++ b/app/src/main/java/com/pramodbharti/filmo/ui/theme/Type.kt @@ -6,29 +6,35 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.sp -// Set of Material typography styles to start with -val Typography = Typography( +val typography = Typography( + headlineSmall = TextStyle( + fontWeight = FontWeight.SemiBold, + fontSize = 24.sp, + lineHeight = 32.sp, + letterSpacing = 0.sp + ), + titleLarge = TextStyle( + fontWeight = FontWeight.SemiBold, + fontSize = 18.sp, + lineHeight = 32.sp, + letterSpacing = 0.sp + ), bodyLarge = TextStyle( - fontFamily = FontFamily.Default, fontWeight = FontWeight.Normal, fontSize = 16.sp, lineHeight = 24.sp, - letterSpacing = 0.5.sp - ) - /* Other default text styles to override - titleLarge = TextStyle( - fontFamily = FontFamily.Default, - fontWeight = FontWeight.Normal, - fontSize = 22.sp, - lineHeight = 28.sp, - letterSpacing = 0.sp + letterSpacing = 0.15.sp ), - labelSmall = TextStyle( - fontFamily = FontFamily.Default, + bodyMedium = TextStyle( fontWeight = FontWeight.Medium, - fontSize = 11.sp, + fontSize = 14.sp, + lineHeight = 20.sp, + letterSpacing = 0.25.sp + ), + labelMedium = TextStyle( + fontWeight = FontWeight.SemiBold, + fontSize = 12.sp, lineHeight = 16.sp, letterSpacing = 0.5.sp ) - */ ) \ No newline at end of file