Skip to content

Commit

Permalink
[스캇] 뷰 챌린지 미션 3단계 제출합니다. (#60)
Browse files Browse the repository at this point in the history
* feat : item_painting_color.xml 에 마진 5dp 추가

* feat : item_tool.xml 에 margin 주고 autoSizeTextType 속성 추가

* refactor : xml 에서 GridLayout 속성을 지정하도록 변경

* feat : 모바일 가로모드 대응 xml 구현

* feat : 테블릿 세로모드 xml 구현

* feat : 테블릿 가로모드 xml 구현

* feat : 다크테마와 라이트 테마에 onPrimary 색상 추가 및 각각 statusBar 색상을 onPrimary 로 변경

* feat : 모든 xml 에 PaintingView 배경색을 onPriamry로 변경하여, 다크모드에 대비

* feat : item_tool.xml 에 maxLine 속성을 1로 변경

* feat : 테블릿 세로모드 marginHorizontal 을 50->100 으로 변경

* refactor : 테블릿 세로모드 가이드라인을 통해 가로크기 조정
  • Loading branch information
chws0508 authored Oct 16, 2023
1 parent b272e86 commit 7517a9c
Show file tree
Hide file tree
Showing 11 changed files with 252 additions and 10 deletions.
3 changes: 0 additions & 3 deletions app/src/main/java/woowacourse/paint/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package woowacourse.paint

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.GridLayoutManager
import com.google.android.material.slider.RangeSlider
import woowacourse.paint.databinding.ActivityMainBinding
import woowacourse.paint.painting.PaintingType
Expand Down Expand Up @@ -54,12 +53,10 @@ class MainActivity : AppCompatActivity() {

private fun setUpPaintingColorControllerView() {
binding.rvColors.adapter = paintingColorAdapter
binding.rvColors.layoutManager = GridLayoutManager(this, paintingColors.size)
}

private fun setUpPaintingTypeControllerView() {
binding.rvPaintingTypes.adapter = paintingTypeAdapter
binding.rvPaintingTypes.layoutManager = GridLayoutManager(this, paintingTypes.size)
}

private fun setPaintColor(color: PaintingColor) {
Expand Down
75 changes: 75 additions & 0 deletions app/src/main/res/layout-land/activity_main.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<woowacourse.paint.PaintingView
android:id="@+id/paintingView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/onPrimary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="1.0" />

<Button
android:id="@+id/button_undo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="17dp"
android:text="@string/main_undo_button_text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<com.google.android.material.slider.RangeSlider
android:id="@+id/rs_stroke_controller"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="17dp"
app:layout_constraintEnd_toStartOf="@id/guide_line"
app:layout_constraintStart_toEndOf="@id/rv_painting_types"
app:layout_constraintTop_toTopOf="parent" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_colors"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="17dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintEnd_toStartOf="@id/guide_line"
app:layout_constraintStart_toEndOf="@id/rv_painting_types"
app:layout_constraintTop_toBottomOf="@id/rs_stroke_controller"
app:spanCount="5"
tools:itemCount="5"
tools:listitem="@layout/item_painting_color" />

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintGuide_percent="0.5"
app:layout_constraintTop_toTopOf="parent" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_painting_types"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingHorizontal="17dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:spanCount="4"
tools:itemCount="4"
tools:listitem="@layout/item_tool" />

</androidx.constraintlayout.widget.ConstraintLayout>
76 changes: 76 additions & 0 deletions app/src/main/res/layout-sw600dp-land/activity_main.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<woowacourse.paint.PaintingView
android:id="@+id/paintingView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/onPrimary"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>

<Button
android:id="@+id/button_undo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="17dp"
android:text="@string/main_undo_button_text"
android:textSize="50sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<com.google.android.material.slider.RangeSlider
android:id="@+id/rs_stroke_controller"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="17dp"
app:layout_constraintEnd_toStartOf="@id/guide_line"
app:layout_constraintStart_toEndOf="@id/rv_painting_types"
app:layout_constraintTop_toTopOf="parent"
app:trackHeight="40dp" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_colors"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="17dp"
android:orientation="vertical"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintEnd_toStartOf="@id/guide_line"
app:layout_constraintStart_toEndOf="@id/rv_painting_types"
app:layout_constraintTop_toBottomOf="@id/rs_stroke_controller"
app:spanCount="5"
tools:itemCount="5"
tools:listitem="@layout/item_painting_color"
tools:spanCount="5" />

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_line"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintGuide_percent="0.5"
app:layout_constraintTop_toTopOf="parent" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_painting_types"
android:layout_width="200dp"
android:layout_height="300dp"
android:orientation="horizontal"
android:paddingHorizontal="17dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:spanCount="4"
tools:itemCount="4"
tools:listitem="@layout/item_tool" />

</androidx.constraintlayout.widget.ConstraintLayout>
83 changes: 83 additions & 0 deletions app/src/main/res/layout-sw600dp/activity_main.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<woowacourse.paint.PaintingView
android:id="@+id/paintingView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/onPrimary"
app:layout_constraintBottom_toTopOf="@id/rs_stroke_controller"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<Button
android:id="@+id/button_undo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="17dp"
android:text="@string/main_undo_button_text"
android:textSize="50sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<com.google.android.material.slider.RangeSlider
android:id="@+id/rs_stroke_controller"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@id/rv_colors"
app:layout_constraintStart_toStartOf="@id/guide_lin_start"
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
app:trackHeight="40dp" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_colors"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toTopOf="@+id/rv_painting_types"
app:layout_constraintStart_toStartOf="@id/guide_lin_start"
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
app:spanCount="5"
tools:itemCount="5"
tools:listitem="@layout/item_painting_color" />

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_lin_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintGuide_percent="0.2"
app:layout_constraintTop_toTopOf="parent" />

<androidx.constraintlayout.widget.Guideline
android:id="@+id/guide_line_end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintGuide_percent="0.8"
app:layout_constraintTop_toTopOf="parent" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_painting_types"
android:layout_width="0dp"
android:layout_height="140dp"
android:orientation="vertical"
android:paddingVertical="20dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/guide_lin_start"
app:layout_constraintEnd_toEndOf="@id/guide_line_end"
app:spanCount="4"
tools:itemCount="4"
tools:listitem="@layout/item_tool" />
</androidx.constraintlayout.widget.ConstraintLayout>
5 changes: 3 additions & 2 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
android:id="@+id/paintingView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/onPrimary"
app:layout_constraintBottom_toTopOf="@id/rs_stroke_controller"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
Expand Down Expand Up @@ -40,9 +41,9 @@
android:paddingHorizontal="17dp"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toTopOf="@+id/rv_painting_types"
app:spanCount="5"
tools:itemCount="5"
tools:listitem="@layout/item_painting_color"
tools:spanCount="5" />
tools:listitem="@layout/item_painting_color" />

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_painting_types"
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/layout/item_painting_color.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_margin="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">

Expand Down
7 changes: 5 additions & 2 deletions app/src/main/res/layout/item_tool.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_marginHorizontal="5dp"
android:id="@+id/button_tool"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:autoSizeTextType="uniform"
android:maxLines="1"
tools:text="직사각형">
</Button>
4 changes: 4 additions & 0 deletions app/src/main/res/values-night/colors.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="onPrimary">@color/black</color>
</resources>
4 changes: 2 additions & 2 deletions app/src/main/res/values-night/themes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/black</item>
<item name="colorOnPrimary">@color/onPrimary</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<item name="android:statusBarColor">@color/black</item>
<!-- Customize your theme here. -->
</style>
</resources>
2 changes: 2 additions & 0 deletions app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,6 @@
<color name="yellow">#FFEB3B</color>
<color name="green">#4CAF50</color>
<color name="blue">#3F51B5</color>

<color name="onPrimary">@color/white</color>
</resources>
2 changes: 1 addition & 1 deletion app/src/main/res/values/themes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorOnPrimary">@color/onPrimary</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
Expand Down

0 comments on commit 7517a9c

Please sign in to comment.