Skip to content

Commit 5a0e1b3

Browse files
committed
change control buttons coloring
1 parent 4d9df46 commit 5a0e1b3

File tree

21 files changed

+374
-562
lines changed

21 files changed

+374
-562
lines changed

features/feature_base_adapter/src/main/java/com/example/util/simpletimetracker/feature_base_adapter/button/ButtonAdapterDelegate.kt

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.example.util.simpletimetracker.feature_base_adapter.button
22

3-
import android.content.res.ColorStateList
43
import androidx.annotation.ColorInt
54
import androidx.annotation.DrawableRes
6-
import androidx.core.view.isVisible
75
import com.example.util.simpletimetracker.feature_base_adapter.ViewHolderType
86
import com.example.util.simpletimetracker.feature_base_adapter.createRecyclerBindingAdapterDelegate
97
import com.example.util.simpletimetracker.feature_views.extension.setMargins
@@ -27,19 +25,17 @@ fun createButtonAdapterDelegate(
2725
start = item.marginHorizontalDp,
2826
end = item.marginHorizontalDp,
2927
)
30-
tvButton.text = item.text
28+
itemButton.buttonIconText = item.text
3129
when (item.icon) {
3230
is ViewData.Icon.Hidden -> {
33-
cardButton.isVisible = false
31+
itemButton.buttonIconVisible = false
3432
}
3533
is ViewData.Icon.Present -> {
36-
cardButton.isVisible = true
37-
ivButton.setImageResource(item.icon.icon)
38-
ivButton.imageTintList = ColorStateList.valueOf(item.icon.iconColor)
39-
cardButton.setCardBackgroundColor(item.icon.iconBackgroundColor)
34+
itemButton.buttonIconVisible = true
35+
itemButton.buttonIconRes = item.icon.icon
36+
itemButton.buttonIconBackgroundColor = item.icon.iconBackgroundColor
4037
}
4138
}
42-
root.setCardBackgroundColor(item.backgroundColor)
4339
itemButton.isEnabled = item.isEnabled
4440
itemButton.setOnClickWith(item, onClick)
4541
}
Lines changed: 7 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
3-
xmlns:app="http://schemas.android.com/apk/res-auto"
2+
<com.example.util.simpletimetracker.feature_views.ButtonIconView xmlns:android="http://schemas.android.com/apk/res/android"
43
xmlns:tools="http://schemas.android.com/tools"
54
android:id="@+id/itemButton"
6-
style="@style/EditScreenControlButton"
75
android:layout_width="match_parent"
8-
android:layout_height="@dimen/button_height"
9-
tools:cardBackgroundColor="?appActiveColor"
10-
tools:layout_marginHorizontal="4dp">
11-
12-
<androidx.constraintlayout.widget.ConstraintLayout
13-
android:layout_width="match_parent"
14-
android:layout_height="match_parent">
15-
16-
<androidx.cardview.widget.CardView
17-
android:id="@+id/cardButton"
18-
android:layout_width="32dp"
19-
android:layout_height="32dp"
20-
android:layout_marginStart="8dp"
21-
android:foreground="?selectableItemBackground"
22-
app:cardCornerRadius="8dp"
23-
app:cardElevation="0dp"
24-
app:layout_constraintBottom_toBottomOf="parent"
25-
app:layout_constraintEnd_toStartOf="@id/tvButton"
26-
app:layout_constraintHorizontal_chainStyle="packed"
27-
app:layout_constraintStart_toStartOf="parent"
28-
app:layout_constraintTop_toTopOf="parent"
29-
tools:backgroundTint="@color/purple_200">
30-
31-
<androidx.appcompat.widget.AppCompatImageView
32-
android:id="@+id/ivButton"
33-
android:layout_width="match_parent"
34-
android:layout_height="match_parent"
35-
android:padding="4dp"
36-
android:scaleType="centerCrop"
37-
tools:ignore="ContentDescription"
38-
tools:src="@drawable/app_unknown"
39-
tools:tint="?appCardBackgroundColor" />
40-
41-
</androidx.cardview.widget.CardView>
42-
43-
<androidx.appcompat.widget.AppCompatTextView
44-
android:id="@+id/tvButton"
45-
style="@style/EditScreenControlButtonText"
46-
android:layout_width="wrap_content"
47-
android:layout_height="match_parent"
48-
android:letterSpacing="0.1"
49-
android:textAllCaps="true"
50-
android:textColor="?appLightTextColor"
51-
android:textSize="14sp"
52-
android:textStyle="bold"
53-
app:layout_constraintEnd_toEndOf="parent"
54-
app:layout_constraintStart_toEndOf="@id/cardButton"
55-
tools:text="Button text" />
56-
57-
</androidx.constraintlayout.widget.ConstraintLayout>
58-
59-
</androidx.cardview.widget.CardView>
6+
android:layout_height="wrap_content"
7+
tools:itemButtonIconBackgroundColor="@color/purple_200"
8+
tools:itemButtonIconColor="?appActiveColor"
9+
tools:itemButtonIconRes="@drawable/app_unknown"
10+
tools:itemButtonIconText="Button text"
11+
tools:layout_marginHorizontal="4dp" />

features/feature_change_activity_filter/src/main/java/com/example/util/simpletimetracker/feature_change_activity_filter/view/ChangeActivityFilterFragment.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import android.os.Bundle
55
import android.view.LayoutInflater
66
import android.view.ViewGroup
77
import androidx.core.view.isVisible
8-
import androidx.core.view.updateLayoutParams
98
import androidx.core.widget.doAfterTextChanged
109
import androidx.fragment.app.viewModels
1110
import com.example.util.simpletimetracker.core.base.BaseFragment
@@ -30,7 +29,6 @@ import com.example.util.simpletimetracker.feature_base_adapter.empty.createEmpty
3029
import com.example.util.simpletimetracker.feature_base_adapter.hint.createHintAdapterDelegate
3130
import com.example.util.simpletimetracker.feature_base_adapter.info.createInfoAdapterDelegate
3231
import com.example.util.simpletimetracker.feature_base_adapter.recordType.createRecordTypeAdapterDelegate
33-
import com.example.util.simpletimetracker.feature_change_activity_filter.R
3432
import com.example.util.simpletimetracker.feature_change_activity_filter.viewData.ChangeActivityFilterChooserState.Closed
3533
import com.example.util.simpletimetracker.feature_change_activity_filter.viewData.ChangeActivityFilterChooserState.Color
3634
import com.example.util.simpletimetracker.feature_change_activity_filter.viewData.ChangeActivityFilterChooserState.Type
@@ -209,12 +207,6 @@ class ChangeActivityFilterFragment :
209207
// Chooser fields
210208
fieldChangeActivityFilterColor.isVisible = isClosed || state.current is Color
211209
fieldChangeActivityFilterType.isVisible = isClosed || state.current is Type
212-
213-
// Chooser size
214-
val sizeDefault = resources.getDimensionPixelSize(R.dimen.input_field_height)
215-
val sizeBig = resources.getDimensionPixelSize(R.dimen.input_field_height_big)
216-
val colorSize = if (state.current is Color) sizeDefault else sizeBig
217-
fieldChangeActivityFilterColor.updateLayoutParams { height = colorSize }
218210
}
219211

220212
private fun updateTypes(

features/feature_change_activity_filter/src/main/res/layout/change_activity_filter_fragment.xml

Lines changed: 6 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -39,47 +39,20 @@
3939
android:layout_width="match_parent"
4040
app:layout_constraintTop_toBottomOf="@id/previewChangeActivityFilter" />
4141

42-
<androidx.cardview.widget.CardView
42+
<com.example.util.simpletimetracker.feature_views.ButtonIconView
4343
android:id="@+id/btnChangeActivityFilterDelete"
44-
style="@style/EditScreenControlButton"
4544
android:layout_width="0dp"
45+
android:layout_height="wrap_content"
4646
android:layout_marginStart="@dimen/edit_screen_button_margin_horizontal"
4747
android:layout_marginTop="8dp"
4848
android:layout_marginEnd="@dimen/edit_screen_button_margin_horizontal"
4949
android:visibility="gone"
50+
app:itemButtonIconRes="@drawable/delete"
51+
app:itemButtonIconText="@string/archive_dialog_delete"
5052
app:layout_constraintEnd_toEndOf="parent"
5153
app:layout_constraintStart_toStartOf="parent"
5254
app:layout_constraintTop_toBottomOf="@id/dividerChangeActivityFilterPreview"
53-
tools:visibility="visible">
54-
55-
<androidx.constraintlayout.widget.ConstraintLayout
56-
android:layout_width="match_parent"
57-
android:layout_height="match_parent"
58-
android:orientation="horizontal">
59-
60-
<androidx.appcompat.widget.AppCompatTextView
61-
android:id="@+id/tvBtnChangeRecordTypeArchive"
62-
style="@style/EditScreenControlButtonText"
63-
android:layout_width="wrap_content"
64-
android:layout_height="match_parent"
65-
android:text="@string/archive_dialog_delete"
66-
app:layout_constraintEnd_toStartOf="@id/ivBtnChangeRecordTypeArchive"
67-
app:layout_constraintHorizontal_chainStyle="packed"
68-
app:layout_constraintStart_toStartOf="parent" />
69-
70-
<androidx.appcompat.widget.AppCompatImageView
71-
android:id="@+id/ivBtnChangeRecordTypeArchive"
72-
style="@style/EditScreenControlButtonImage"
73-
android:layout_width="0dp"
74-
android:layout_height="match_parent"
75-
android:src="@drawable/delete"
76-
app:layout_constraintEnd_toEndOf="parent"
77-
app:layout_constraintStart_toEndOf="@id/tvBtnChangeRecordTypeArchive"
78-
tools:ignore="ContentDescription" />
79-
80-
</androidx.constraintlayout.widget.ConstraintLayout>
81-
82-
</androidx.cardview.widget.CardView>
55+
tools:visibility="visible" />
8356

8457
<androidx.constraintlayout.widget.Barrier
8558
android:id="@+id/barrierChangeRecordTypeButtons"
@@ -110,7 +83,7 @@
11083
android:id="@+id/fieldChangeActivityFilterColor"
11184
style="@style/InputFieldCard"
11285
android:layout_width="0dp"
113-
android:layout_height="@dimen/input_field_height_big"
86+
android:layout_height="@dimen/input_field_height"
11487
android:layout_marginHorizontal="@dimen/edit_screen_field_margin_horizontal"
11588
android:layout_marginTop="3dp"
11689
app:layout_constraintEnd_toEndOf="parent"

features/feature_change_category/src/main/java/com/example/util/simpletimetracker/feature_change_category/view/ChangeCategoryFragment.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import android.view.LayoutInflater
66
import android.view.ViewGroup
77
import androidx.core.view.isInvisible
88
import androidx.core.view.isVisible
9-
import androidx.core.view.updateLayoutParams
109
import androidx.core.widget.doAfterTextChanged
1110
import androidx.fragment.app.viewModels
1211
import com.example.util.simpletimetracker.core.base.BaseFragment
@@ -32,7 +31,6 @@ import com.example.util.simpletimetracker.feature_base_adapter.empty.createEmpty
3231
import com.example.util.simpletimetracker.feature_base_adapter.hint.createHintAdapterDelegate
3332
import com.example.util.simpletimetracker.feature_base_adapter.info.createInfoAdapterDelegate
3433
import com.example.util.simpletimetracker.feature_base_adapter.recordType.createRecordTypeAdapterDelegate
35-
import com.example.util.simpletimetracker.feature_change_category.R
3634
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryChooserState.Closed
3735
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryChooserState.Color
3836
import com.example.util.simpletimetracker.feature_change_category.viewData.ChangeCategoryChooserState.GoalTime
@@ -279,12 +277,6 @@ class ChangeCategoryFragment :
279277
fieldChangeCategoryColor.isVisible = isClosed || state.current is Color
280278
fieldChangeCategoryType.isVisible = isClosed || state.current is Type
281279
fieldChangeCategoryGoalTime.isVisible = isClosed || state.current is GoalTime
282-
283-
// Chooser size
284-
val sizeDefault = resources.getDimensionPixelSize(R.dimen.input_field_height)
285-
val sizeBig = resources.getDimensionPixelSize(R.dimen.input_field_height_big)
286-
val colorSize = if (state.current is Color) sizeDefault else sizeBig
287-
fieldChangeCategoryColor.updateLayoutParams { height = colorSize }
288280
}
289281

290282
private fun updateGoalsState(state: ChangeRecordTypeGoalsViewData) = with(binding) {

features/feature_change_category/src/main/res/layout/change_category_fragment.xml

Lines changed: 11 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -39,89 +39,35 @@
3939
android:layout_width="match_parent"
4040
app:layout_constraintTop_toBottomOf="@id/previewChangeCategory" />
4141

42-
<androidx.cardview.widget.CardView
42+
<com.example.util.simpletimetracker.feature_views.ButtonIconView
4343
android:id="@+id/btnChangeCategoryStatistics"
44-
style="@style/EditScreenControlButton"
4544
android:layout_width="0dp"
45+
android:layout_height="wrap_content"
4646
android:layout_marginStart="@dimen/edit_screen_button_margin_horizontal"
4747
android:layout_marginTop="8dp"
4848
android:visibility="gone"
49+
app:itemButtonIconRes="@drawable/statistics"
50+
app:itemButtonIconText="@string/shortcut_navigation_statistics"
4951
app:layout_constraintEnd_toStartOf="@id/btnChangeCategoryDelete"
5052
app:layout_constraintStart_toStartOf="parent"
5153
app:layout_constraintTop_toBottomOf="@id/dividerChangeCategoryPreview"
5254
app:layout_goneMarginEnd="@dimen/edit_screen_button_margin_horizontal"
53-
tools:visibility="visible">
54-
55-
<androidx.constraintlayout.widget.ConstraintLayout
56-
android:layout_width="match_parent"
57-
android:layout_height="match_parent"
58-
android:orientation="horizontal">
59-
60-
<androidx.appcompat.widget.AppCompatTextView
61-
android:id="@+id/tvBtnChangeCategoryStatistics"
62-
style="@style/EditScreenControlButtonText"
63-
android:layout_width="wrap_content"
64-
android:layout_height="match_parent"
65-
android:text="@string/shortcut_navigation_statistics"
66-
app:layout_constraintEnd_toStartOf="@id/ivBtnChangeCategoryStatistics"
67-
app:layout_constraintHorizontal_chainStyle="packed"
68-
app:layout_constraintStart_toStartOf="parent" />
55+
tools:visibility="visible" />
6956

70-
<androidx.appcompat.widget.AppCompatImageView
71-
android:id="@+id/ivBtnChangeCategoryStatistics"
72-
style="@style/EditScreenControlButtonImage"
73-
android:layout_width="0dp"
74-
android:layout_height="match_parent"
75-
android:src="@drawable/statistics"
76-
app:layout_constraintEnd_toEndOf="parent"
77-
app:layout_constraintStart_toEndOf="@id/tvBtnChangeCategoryStatistics"
78-
tools:ignore="ContentDescription" />
79-
80-
</androidx.constraintlayout.widget.ConstraintLayout>
81-
82-
</androidx.cardview.widget.CardView>
83-
84-
<androidx.cardview.widget.CardView
57+
<com.example.util.simpletimetracker.feature_views.ButtonIconView
8558
android:id="@+id/btnChangeCategoryDelete"
86-
style="@style/EditScreenControlButton"
8759
android:layout_width="0dp"
60+
android:layout_height="wrap_content"
8861
android:layout_marginTop="8dp"
8962
android:layout_marginEnd="@dimen/edit_screen_button_margin_horizontal"
9063
android:visibility="gone"
64+
app:itemButtonIconRes="@drawable/delete"
65+
app:itemButtonIconText="@string/archive_dialog_delete"
9166
app:layout_constraintEnd_toEndOf="parent"
9267
app:layout_constraintStart_toEndOf="@id/btnChangeCategoryStatistics"
9368
app:layout_constraintTop_toBottomOf="@id/dividerChangeCategoryPreview"
9469
app:layout_goneMarginStart="@dimen/edit_screen_button_margin_horizontal"
95-
tools:visibility="visible">
96-
97-
<androidx.constraintlayout.widget.ConstraintLayout
98-
android:layout_width="match_parent"
99-
android:layout_height="match_parent"
100-
android:orientation="horizontal">
101-
102-
<androidx.appcompat.widget.AppCompatTextView
103-
android:id="@+id/tvBtnChangeCategoryArchive"
104-
style="@style/EditScreenControlButtonText"
105-
android:layout_width="wrap_content"
106-
android:layout_height="match_parent"
107-
android:text="@string/archive_dialog_delete"
108-
app:layout_constraintEnd_toStartOf="@id/ivBtnChangeCategoryArchive"
109-
app:layout_constraintHorizontal_chainStyle="packed"
110-
app:layout_constraintStart_toStartOf="parent" />
111-
112-
<androidx.appcompat.widget.AppCompatImageView
113-
android:id="@+id/ivBtnChangeCategoryArchive"
114-
style="@style/EditScreenControlButtonImage"
115-
android:layout_width="0dp"
116-
android:layout_height="match_parent"
117-
android:src="@drawable/delete"
118-
app:layout_constraintEnd_toEndOf="parent"
119-
app:layout_constraintStart_toEndOf="@id/tvBtnChangeCategoryArchive"
120-
tools:ignore="ContentDescription" />
121-
122-
</androidx.constraintlayout.widget.ConstraintLayout>
123-
124-
</androidx.cardview.widget.CardView>
70+
tools:visibility="visible" />
12571

12672
<androidx.constraintlayout.widget.Barrier
12773
android:id="@+id/barrierChangeCategoryButtons"
@@ -153,7 +99,7 @@
15399
android:id="@+id/fieldChangeCategoryColor"
154100
style="@style/InputFieldCard"
155101
android:layout_width="0dp"
156-
android:layout_height="@dimen/input_field_height_big"
102+
android:layout_height="@dimen/input_field_height"
157103
android:layout_marginHorizontal="@dimen/edit_screen_field_margin_horizontal"
158104
android:layout_marginTop="3dp"
159105
app:layout_constraintEnd_toEndOf="parent"

0 commit comments

Comments
 (0)