+++ .idea/.name
... | ... | @@ -0,0 +1,1 @@ |
| 1 | +PhotoSlide(No newline at end of file) |
+++ .idea/deploymentTargetSelector.xml
... | ... | @@ -0,0 +1,11 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<project version="4"> | |
| 3 | + <component name="deploymentTargetSelector"> | |
| 4 | + <selectionStates> | |
| 5 | + <SelectionState runConfigName="app"> | |
| 6 | + <option name="selectionMode" value="DROPDOWN" /> | |
| 7 | + <DialogSelection /> | |
| 8 | + </SelectionState> | |
| 9 | + </selectionStates> | |
| 10 | + </component> | |
| 11 | +</project>(No newline at end of file) |
+++ .idea/deviceManager.xml
... | ... | @@ -0,0 +1,13 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<project version="4"> | |
| 3 | + <component name="DeviceTable"> | |
| 4 | + <option name="columnSorters"> | |
| 5 | + <list> | |
| 6 | + <ColumnSorterState> | |
| 7 | + <option name="column" value="Name" /> | |
| 8 | + <option name="order" value="ASCENDING" /> | |
| 9 | + </ColumnSorterState> | |
| 10 | + </list> | |
| 11 | + </option> | |
| 12 | + </component> | |
| 13 | +</project>(No newline at end of file) |
--- .idea/gradle.xml
+++ .idea/gradle.xml
... | ... | @@ -1,5 +1,6 @@ |
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 | 2 |
<project version="4"> |
| 3 |
+ <component name="GradleMigrationSettings" migrationVersion="1" /> |
|
| 3 | 4 |
<component name="GradleSettings"> |
| 4 | 5 |
<option name="linkedExternalProjectsSettings"> |
| 5 | 6 |
<GradleProjectSettings> |
+++ .idea/inspectionProfiles/Project_Default.xml
... | ... | @@ -0,0 +1,61 @@ |
| 1 | +<component name="InspectionProjectProfileManager"> | |
| 2 | + <profile version="1.0"> | |
| 3 | + <option name="myName" value="Project Default" /> | |
| 4 | + <inspection_tool class="ComposePreviewDimensionRespectsLimit" enabled="true" level="WARNING" enabled_by_default="true"> | |
| 5 | + <option name="composableFile" value="true" /> | |
| 6 | + <option name="previewFile" value="true" /> | |
| 7 | + </inspection_tool> | |
| 8 | + <inspection_tool class="ComposePreviewMustBeTopLevelFunction" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 9 | + <option name="composableFile" value="true" /> | |
| 10 | + <option name="previewFile" value="true" /> | |
| 11 | + </inspection_tool> | |
| 12 | + <inspection_tool class="ComposePreviewNeedsComposableAnnotation" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 13 | + <option name="composableFile" value="true" /> | |
| 14 | + <option name="previewFile" value="true" /> | |
| 15 | + </inspection_tool> | |
| 16 | + <inspection_tool class="ComposePreviewNotSupportedInUnitTestFiles" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 17 | + <option name="composableFile" value="true" /> | |
| 18 | + <option name="previewFile" value="true" /> | |
| 19 | + </inspection_tool> | |
| 20 | + <inspection_tool class="GlancePreviewDimensionRespectsLimit" enabled="true" level="WARNING" enabled_by_default="true"> | |
| 21 | + <option name="composableFile" value="true" /> | |
| 22 | + </inspection_tool> | |
| 23 | + <inspection_tool class="GlancePreviewMustBeTopLevelFunction" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 24 | + <option name="composableFile" value="true" /> | |
| 25 | + </inspection_tool> | |
| 26 | + <inspection_tool class="GlancePreviewNeedsComposableAnnotation" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 27 | + <option name="composableFile" value="true" /> | |
| 28 | + </inspection_tool> | |
| 29 | + <inspection_tool class="GlancePreviewNotSupportedInUnitTestFiles" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 30 | + <option name="composableFile" value="true" /> | |
| 31 | + </inspection_tool> | |
| 32 | + <inspection_tool class="PreviewAnnotationInFunctionWithParameters" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 33 | + <option name="composableFile" value="true" /> | |
| 34 | + <option name="previewFile" value="true" /> | |
| 35 | + </inspection_tool> | |
| 36 | + <inspection_tool class="PreviewApiLevelMustBeValid" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 37 | + <option name="composableFile" value="true" /> | |
| 38 | + <option name="previewFile" value="true" /> | |
| 39 | + </inspection_tool> | |
| 40 | + <inspection_tool class="PreviewDeviceShouldUseNewSpec" enabled="true" level="WEAK WARNING" enabled_by_default="true"> | |
| 41 | + <option name="composableFile" value="true" /> | |
| 42 | + <option name="previewFile" value="true" /> | |
| 43 | + </inspection_tool> | |
| 44 | + <inspection_tool class="PreviewFontScaleMustBeGreaterThanZero" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 45 | + <option name="composableFile" value="true" /> | |
| 46 | + <option name="previewFile" value="true" /> | |
| 47 | + </inspection_tool> | |
| 48 | + <inspection_tool class="PreviewMultipleParameterProviders" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 49 | + <option name="composableFile" value="true" /> | |
| 50 | + <option name="previewFile" value="true" /> | |
| 51 | + </inspection_tool> | |
| 52 | + <inspection_tool class="PreviewParameterProviderOnFirstParameter" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 53 | + <option name="composableFile" value="true" /> | |
| 54 | + <option name="previewFile" value="true" /> | |
| 55 | + </inspection_tool> | |
| 56 | + <inspection_tool class="PreviewPickerAnnotation" enabled="true" level="ERROR" enabled_by_default="true"> | |
| 57 | + <option name="composableFile" value="true" /> | |
| 58 | + <option name="previewFile" value="true" /> | |
| 59 | + </inspection_tool> | |
| 60 | + </profile> | |
| 61 | +</component>(No newline at end of file) |
--- .idea/misc.xml
+++ .idea/misc.xml
... | ... | @@ -1,7 +1,7 @@ |
| 1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
| 2 | 2 |
<project version="4"> |
| 3 | 3 |
<component name="ExternalStorageConfigurationManager" enabled="true" /> |
| 4 |
- <component name="ProjectRootManager" version="2" languageLevel="JDK_25" project-jdk-name="jbr-25" project-jdk-type="JavaSDK"> |
|
| 4 |
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_25" default="true" project-jdk-name="jbr-25" project-jdk-type="JavaSDK"> |
|
| 5 | 5 |
<output url="file://$PROJECT_DIR$/build/classes" /> |
| 6 | 6 |
</component> |
| 7 | 7 |
<component name="ProjectType"> |
--- app/src/main/java/kr/co/app4ad/photoslide/MainActivity.kt
+++ app/src/main/java/kr/co/app4ad/photoslide/MainActivity.kt
... | ... | @@ -4,12 +4,17 @@ |
| 4 | 4 |
import androidx.activity.ComponentActivity |
| 5 | 5 |
import androidx.activity.compose.setContent |
| 6 | 6 |
import androidx.activity.enableEdgeToEdge |
| 7 |
+import androidx.compose.foundation.Image |
|
| 8 |
+import androidx.compose.foundation.layout.Box |
|
| 7 | 9 |
import androidx.compose.foundation.layout.fillMaxSize |
| 8 |
-import androidx.compose.foundation.layout.padding |
|
| 9 |
-import androidx.compose.material3.Scaffold |
|
| 10 |
+import androidx.compose.material3.Surface |
|
| 10 | 11 |
import androidx.compose.material3.Text |
| 11 | 12 |
import androidx.compose.runtime.Composable |
| 13 |
+import androidx.compose.ui.Alignment |
|
| 12 | 14 |
import androidx.compose.ui.Modifier |
| 15 |
+import androidx.compose.ui.graphics.Color |
|
| 16 |
+import androidx.compose.ui.layout.ContentScale |
|
| 17 |
+import androidx.compose.ui.res.painterResource |
|
| 13 | 18 |
import androidx.compose.ui.tooling.preview.Preview |
| 14 | 19 |
import kr.co.app4ad.photoslide.ui.theme.PhotoSlideTheme |
| 15 | 20 |
|
... | ... | @@ -19,29 +24,45 @@ |
| 19 | 24 |
enableEdgeToEdge() |
| 20 | 25 |
setContent {
|
| 21 | 26 |
PhotoSlideTheme {
|
| 22 |
- Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
|
|
| 23 |
- Greeting( |
|
| 24 |
- name = "Android", |
|
| 25 |
- modifier = Modifier.padding(innerPadding) |
|
| 26 |
- ) |
|
| 27 |
+ Surface(modifier = Modifier.fillMaxSize(), color = Color.Black) {
|
|
| 28 |
+ Box( |
|
| 29 |
+ modifier = Modifier.fillMaxSize(), |
|
| 30 |
+ contentAlignment = Alignment.Center |
|
| 31 |
+ ){
|
|
| 32 |
+ Text( |
|
| 33 |
+ text = "포토 슬라이스 준비 중...", |
|
| 34 |
+ color = Color.White |
|
| 35 |
+ ) |
|
| 36 |
+ } |
|
| 27 | 37 |
} |
| 28 | 38 |
} |
| 29 | 39 |
} |
| 30 | 40 |
} |
| 31 | 41 |
} |
| 32 |
- |
|
| 33 | 42 |
@Composable |
| 34 |
-fun Greeting(name: String, modifier: Modifier = Modifier) {
|
|
| 35 |
- Text( |
|
| 36 |
- text = "Hello $name!", |
|
| 37 |
- modifier = modifier |
|
| 38 |
- ) |
|
| 43 |
+fun PhotoSlideScreen() {
|
|
| 44 |
+ Box( |
|
| 45 |
+ modifier = Modifier.fillMaxSize(), |
|
| 46 |
+ contentAlignment = Alignment.Center |
|
| 47 |
+ ) {
|
|
| 48 |
+ // res/drawable에 넣은 이미지 파일 이름 (확장자 제외) |
|
| 49 |
+ Image( |
|
| 50 |
+ painter = painterResource(id = R.drawable.flow02), |
|
| 51 |
+ contentDescription = "슬라이드쇼 샘플 이미지", |
|
| 52 |
+ modifier = Modifier.fillMaxSize(), |
|
| 53 |
+ contentScale = ContentScale.Fit ) |
|
| 54 |
+ } |
|
| 39 | 55 |
} |
| 40 | 56 |
|
| 41 | 57 |
@Preview(showBackground = true) |
| 42 | 58 |
@Composable |
| 43 |
-fun GreetingPreview() {
|
|
| 59 |
+fun PhotoSlidePreview() {
|
|
| 44 | 60 |
PhotoSlideTheme {
|
| 45 |
- Greeting("Android")
|
|
| 61 |
+ Surface( |
|
| 62 |
+ modifier = Modifier.fillMaxSize(), |
|
| 63 |
+ color = Color.Black |
|
| 64 |
+ ) {
|
|
| 65 |
+ PhotoSlideScreen() |
|
| 66 |
+ } |
|
| 46 | 67 |
} |
| 47 | 68 |
}(No newline at end of file) |
+++ app/src/main/res/drawable/flow01.jpg
| Binary file is not shown |
+++ app/src/main/res/drawable/flow02.jpg
| Binary file is not shown |
+++ app/src/main/res/drawable/flow03.jpg
| Binary file is not shown |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?