Skip to content

Commit be466a4

Browse files
committed
Make text sizes and color overrideable
1 parent 9728b0f commit be466a4

File tree

9 files changed

+43
-16
lines changed

9 files changed

+43
-16
lines changed

survey/src/main/java/com.quickbirdstudios.surveykit/backend/views/question_parts/DateTimePickerPart.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import android.app.TimePickerDialog
55
import android.content.Context
66
import android.os.Parcelable
77
import android.util.AttributeSet
8+
import android.util.TypedValue
89
import android.view.Gravity
910
import android.widget.*
1011
import androidx.appcompat.widget.AppCompatTextView
@@ -91,7 +92,7 @@ internal class DateTimePickerPart @JvmOverloads constructor(
9192
}
9293
selectedDateTimeLabel = TextView(context).apply {
9394
text = "$selectedDate $selectedTime"
94-
textSize = context.resources.getDimension(R.dimen.date_time_label_text_size)
95+
setTextSize(TypedValue.COMPLEX_UNIT_PX, context.resources.getDimension(R.dimen.date_time_label_text_size))
9596
setTextColor(ContextCompat.getColor(context, R.color.black))
9697
textAlignment = AppCompatTextView.TEXT_ALIGNMENT_CENTER
9798
gravity = Gravity.CENTER

survey/src/main/java/com.quickbirdstudios.surveykit/backend/views/question_parts/InfoTextPart.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ internal class InfoTextPart @JvmOverloads constructor(
4343
id = R.id.infoTextTitle
4444
setText(text)
4545
setTextSize(R.dimen.question_info_title_text_size)
46+
setTextColor(ContextCompat.getColor(context, R.color.question_info_title_text))
4647
val horizontalPadding =
4748
context.resources.getDimensionPixelSize(R.dimen.question_horizontal_padding)
4849
val verticalPadding =
@@ -56,6 +57,7 @@ internal class InfoTextPart @JvmOverloads constructor(
5657
id = R.id.infoTextInfo
5758
setText(text)
5859
setTextSize(R.dimen.question_info_text_text_size)
60+
setTextColor(ContextCompat.getColor(context, R.color.question_info_text_text))
5961
val horizontalPadding =
6062
context.resources.getDimensionPixelSize(R.dimen.question_horizontal_padding)
6163
val verticalPadding =
@@ -69,6 +71,7 @@ internal class InfoTextPart @JvmOverloads constructor(
6971
id = R.id.infoTextQuestion
7072
setText(text)
7173
setTextSize(R.dimen.question_text_size)
74+
setTextColor(ContextCompat.getColor(context, R.color.question_text))
7275
val horizontalPadding =
7376
context.resources.getDimensionPixelSize(R.dimen.question_horizontal_padding)
7477
val verticalPadding =

survey/src/main/java/com.quickbirdstudios.surveykit/backend/views/question_parts/MultipleChoicePart.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.content.Context
44
import android.graphics.Color
55
import android.os.Handler
66
import android.util.AttributeSet
7+
import android.util.TypedValue
78
import android.view.Gravity
89
import android.view.View
910
import android.view.ViewGroup
@@ -43,7 +44,7 @@ internal class MultipleChoicePart @JvmOverloads constructor(
4344
}
4445

4546
@ColorInt
46-
var defaultColor: Int = ContextCompat.getColor(context, R.color.survey_text)
47+
var defaultColor: Int = ContextCompat.getColor(context, R.color.question_text)
4748
set(color) {
4849
update(options)
4950
field = color
@@ -132,6 +133,7 @@ internal class MultipleChoicePart @JvmOverloads constructor(
132133
val horizontalPaddingEditTextRight = context.px(
133134
context.resources.getDimension(R.dimen.text_field_horizontal_padding_right)
134135
).toInt()
136+
val textSizeEditText = context.resources.getDimension(R.dimen.text_field_text_size)
135137

136138
val checkBox = CheckBox(context).apply {
137139
id = View.generateViewId()
@@ -140,7 +142,9 @@ internal class MultipleChoicePart @JvmOverloads constructor(
140142
isFocusable = true
141143
isClickable = true
142144
buttonDrawable = null
143-
textSize = 20f
145+
146+
setTextSize(TypedValue.COMPLEX_UNIT_PX, textSizeEditText)
147+
setTextColor(ContextCompat.getColor(context, R.color.question_text))
144148

145149
background = createSelectableThemedBackground(context, border, themeColor)
146150

@@ -153,11 +157,10 @@ internal class MultipleChoicePart @JvmOverloads constructor(
153157
verticalPaddingEditText
154158
)
155159

156-
val layoutParams = LayoutParams(
160+
this.layoutParams = LayoutParams(
157161
LayoutParams.MATCH_PARENT,
158162
ViewGroup.LayoutParams.MATCH_PARENT
159163
)
160-
this.layoutParams = layoutParams
161164
}
162165

163166
Handler().post {

survey/src/main/java/com.quickbirdstudios.surveykit/backend/views/question_parts/ScalePart.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,19 +166,19 @@ internal class ScalePart @JvmOverloads constructor(
166166
minimumValueDescriptionField = TextView(context).setRandomViewId().apply {
167167
this.textAlignment = View.TEXT_ALIGNMENT_CENTER
168168
this.setTextSize(TypedValue.COMPLEX_UNIT_PX, descriptionTextSize)
169-
this.setTextColor(ContextCompat.getColor(context, R.color.survey_text));
169+
this.setTextColor(ContextCompat.getColor(context, R.color.scale_part_description_text));
170170
this.setPadding(textPadding, textPadding, textPadding, 0)
171171
}
172172
maximumValueDescriptionField = TextView(context).setRandomViewId().apply {
173173
this.textAlignment = View.TEXT_ALIGNMENT_CENTER
174174
this.setTextSize(TypedValue.COMPLEX_UNIT_PX, descriptionTextSize)
175-
this.setTextColor(ContextCompat.getColor(context, R.color.survey_text));
175+
this.setTextColor(ContextCompat.getColor(context, R.color.scale_part_description_text));
176176
this.setPadding(textPadding, textPadding, textPadding, 0)
177177
}
178178
currentValueDescriptionField = TextView(context).setRandomViewId().apply {
179179
this.textAlignment = View.TEXT_ALIGNMENT_CENTER
180180
this.setTextSize(TypedValue.COMPLEX_UNIT_PX, selectedTextSize)
181-
this.setTextColor(ContextCompat.getColor(context, R.color.survey_text));
181+
this.setTextColor(ContextCompat.getColor(context, R.color.scale_part_selected_text));
182182
this.setPadding(textPadding, textPadding, textPadding, 0)
183183
}
184184
seekBar = AppCompatSeekBar(context).apply {

survey/src/main/java/com.quickbirdstudios.surveykit/backend/views/question_parts/SingleChoicePart.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ internal class SingleChoicePart @JvmOverloads constructor(
4444
}
4545

4646
@ColorInt
47-
var defaultColor: Int = ContextCompat.getColor(context, R.color.survey_text)
47+
var defaultColor: Int = ContextCompat.getColor(context, R.color.question_text)
4848
set(color) {
4949
update(options)
5050
field = color

survey/src/main/java/com.quickbirdstudios.surveykit/backend/views/question_parts/TextFieldPart.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.quickbirdstudios.surveykit.backend.views.question_parts
33
import android.content.Context
44
import android.text.InputType
55
import android.util.AttributeSet
6+
import android.util.TypedValue
67
import android.view.ViewGroup
78
import android.widget.EditText
89
import android.widget.LinearLayout
@@ -29,6 +30,7 @@ internal open class TextFieldPart @JvmOverloads constructor(
2930
val horizontalPaddingEditText = context.px(
3031
context.resources.getDimension(R.dimen.text_field_horizontal_padding_left)
3132
).toInt()
33+
val textSizeEditText = context.resources.getDimension(R.dimen.text_field_text_size)
3234

3335
field = EditText(context).apply {
3436
id = R.id.textFieldPartField
@@ -38,6 +40,9 @@ internal open class TextFieldPart @JvmOverloads constructor(
3840
isClickable = true
3941
background = null
4042

43+
setTextSize(TypedValue.COMPLEX_UNIT_PX, textSizeEditText)
44+
setTextColor(ContextCompat.getColor(context, R.color.question_text))
45+
4146
setHintTextColor(ContextCompat.getColor(context, R.color.hint_grey))
4247

4348
setPadding(
@@ -47,13 +52,10 @@ internal open class TextFieldPart @JvmOverloads constructor(
4752
verticalPaddingEditText
4853
)
4954

50-
setTextColor(ContextCompat.getColor(context, R.color.survey_text))
51-
52-
val layoutParams = LayoutParams(
55+
this.layoutParams = LayoutParams(
5356
LayoutParams.MATCH_PARENT,
5457
ViewGroup.LayoutParams.MATCH_PARENT
5558
)
56-
this.layoutParams = layoutParams
5759
}
5860

5961
this.background = context.resources.getDrawable(R.drawable.input_border, null)

survey/src/main/res/layout/layout_question.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
android:id="@+id/question"
1111
android:layout_width="wrap_content"
1212
android:layout_height="wrap_content"
13-
android:layout_marginTop="20dp"
13+
android:layout_marginTop="@dimen/question_vertical_margin"
1414
android:textAlignment="center"
15-
android:textColor="@color/survey_text"
16-
android:textSize="28sp"
15+
android:textColor="@color/question_text"
16+
android:textSize="@dimen/question_text_size"
1717
app:layout_constraintLeft_toLeftOf="parent"
1818
app:layout_constraintRight_toRightOf="parent"
1919
app:layout_constraintTop_toTopOf="parent" />

survey/src/main/res/values/colors.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,17 @@
2121
<color name="color_accent">#36BFCC</color>
2222

2323
<color name="survey_text">#000000</color>
24+
25+
<color name="question_info_title_text">@color/survey_text</color>
26+
<color name="question_info_text_text">@color/survey_text</color>
27+
<color name="question_text">@color/survey_text</color>
28+
<color name="question_text_selected">@color/color_accent</color>
29+
<color name="scale_part_description_text">@color/survey_text</color>
30+
<color name="scale_part_selected_text">@color/survey_text</color>
31+
<!--color name="question_info_title_text">@android:color/holo_red_light</color>
32+
<color name="question_info_text_text">@android:color/holo_green_light</color>
33+
<color name="question_text">@android:color/holo_blue_light</color>
34+
<color name="question_text_selected">@android:color/holo_green_light</color>
35+
<color name="scale_part_description_text">@android:color/holo_red_light</color>
36+
<color name="scale_part_selected_text">@android:color/holo_green_light</color-->
2437
</resources>

survey/src/main/res/values/dimens.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<dimen name="question_text_padding">8dp</dimen>
55
<dimen name="question_vertical_padding">16dp</dimen>
66
<dimen name="question_horizontal_padding">20dp</dimen>
7+
<dimen name="question_vertical_margin">20dp</dimen>
78

89
<dimen name="question_info_title_text_size">28sp</dimen>
910
<dimen name="question_info_text_text_size">16sp</dimen>
@@ -20,11 +21,15 @@
2021
<dimen name="text_field_horizontal_padding_left">12dp</dimen>
2122
<dimen name="text_field_horizontal_padding_right">24dp</dimen>
2223
<dimen name="text_field_vertical_padding">6dp</dimen>
24+
<dimen name="text_field_text_size">28sp</dimen>
2325

2426
<dimen name="scale_part_description_text_size">20sp</dimen>
2527
<dimen name="scale_part_selected_text_size">32sp</dimen>
2628
<dimen name="scale_part_text_padding">4dp</dimen>
29+
2730
<dimen name="image_selection_colored_border">4dp</dimen>
31+
2832
<dimen name="date_time_label_text_size">14sp</dimen>
33+
2934
<dimen name="search_drawable_padding">32dp</dimen>
3035
</resources>

0 commit comments

Comments
 (0)