Migrate UI to Jetpack Compose with Material 3 design
- Replace XML layouts with Compose screens for all 5 Activities - Implement Material 3 theme with Google Blue/Green color scheme matching app icon - Add device-aware navigation with bottom tabs for Samsung devices - Remove action bar for modern edge-to-edge UI design - Update Kotlin to 1.9.22 for Compose Compiler compatibility - Add Compose dependencies and configure build system - Implement MainViewModel for upload state management - Create reusable dialog components for upload parameters and results - Preserve all existing Java controllers and services (UI-only migration)
This commit is contained in:
@@ -39,6 +39,14 @@ android {
|
||||
languageVersion.set(JavaLanguageVersion.of(17))
|
||||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
compose = true
|
||||
}
|
||||
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = '1.5.8'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -77,6 +85,23 @@ dependencies {
|
||||
// Coroutines
|
||||
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
|
||||
|
||||
// Jetpack Compose
|
||||
def composeBom = platform('androidx.compose:compose-bom:2024.12.01')
|
||||
implementation composeBom
|
||||
implementation 'androidx.compose.ui:ui'
|
||||
implementation 'androidx.compose.ui:ui-tooling-preview'
|
||||
implementation 'androidx.compose.material3:material3'
|
||||
implementation 'androidx.compose.material:material-icons-extended'
|
||||
implementation 'androidx.activity:activity-compose:1.9.3'
|
||||
implementation 'androidx.navigation:navigation-compose:2.8.5'
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7'
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime-compose:2.8.7'
|
||||
implementation 'androidx.compose.runtime:runtime-livedata'
|
||||
|
||||
// Compose Debug
|
||||
debugImplementation 'androidx.compose.ui:ui-tooling'
|
||||
debugImplementation 'androidx.compose.ui:ui-test-manifest'
|
||||
|
||||
// Testing
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
|
||||
|
||||
Reference in New Issue
Block a user