diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKey.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKey.java
index 331d7177..b9ee10e4 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKey.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKey.java
@@ -263,32 +263,38 @@ public class SoftKey extends androidx.appcompat.widget.AppCompatButton implement
if (title == null) {
return;
- } else if (subtitle == null) {
- setText(title);
- return;
}
- int titleLength = title.length();
-
SpannableStringBuilder sb = new SpannableStringBuilder(title);
- sb.append('\n');
- sb.append(subtitle);
-
- float padding = SettingsStore.SOFT_KEY_COMPLEX_LABEL_TITLE_RELATIVE_SIZE;
- if (getTitleRelativeSize() == SettingsStore.SOFT_KEY_COMPLEX_LABEL_ARABIC_TITLE_RELATIVE_SIZE) {
- padding /= 10;
+ if (subtitle != null) {
+ sb.append('\n');
+ sb.append(subtitle);
}
// title styles
- sb.setSpan(new RelativeSizeSpan(getTitleRelativeSize()), 0, titleLength, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
- if (!new Text(title).startsWithGraphic()) {
+ int titleLength = title.length();
+ float titleRelativeSize = subtitle == null ? getSubTitleRelativeSize() : getTitleRelativeSize();
+
+ sb.setSpan(new RelativeSizeSpan(titleRelativeSize), 0, titleLength, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
+ if (subtitle != null && !new Text(title).startsWithGraphic()) {
sb.setSpan(new StyleSpan(Typeface.ITALIC), 0, titleLength, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
}
+
if (isTitleDisabled) {
sb.setSpan(new ForegroundColorSpan(0x44000000), 0, titleLength, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
}
+ if (subtitle == null) {
+ setText(sb);
+ return;
+ }
+
// subtitle styles
+ float padding = SettingsStore.SOFT_KEY_COMPLEX_LABEL_TITLE_RELATIVE_SIZE;
+ if (titleRelativeSize == SettingsStore.SOFT_KEY_COMPLEX_LABEL_ARABIC_TITLE_RELATIVE_SIZE) {
+ padding /= 10;
+ }
+
sb.setSpan(new RelativeSizeSpan(padding), titleLength, titleLength + 1, Spanned.SPAN_INCLUSIVE_INCLUSIVE);
sb.setSpan(new RelativeSizeSpan(getSubTitleRelativeSize()), titleLength + 1, sb.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyRF3.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyRF3.java
index d9377364..6c0e3ad5 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyRF3.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyRF3.java
@@ -10,21 +10,35 @@ public class SoftKeyRF3 extends SoftKey {
public SoftKeyRF3(Context context, AttributeSet attrs) { super(context, attrs); }
public SoftKeyRF3(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); }
- @Override protected float getTitleRelativeSize() { return super.getTitleRelativeSize() / 0.85f; }
- @Override protected float getSubTitleRelativeSize() { return super.getSubTitleRelativeSize() / 0.85f; }
private boolean isVoiceInputMissing() {
return tt9 != null && tt9.isVoiceInputMissing();
}
+
private boolean isTextEditingMissing() {
return tt9 != null && tt9.isInputLimited();
}
+
private boolean isTextEditingActive() {
return tt9 != null && tt9.isTextEditingActive();
}
+
+ @Override
+ protected float getTitleRelativeSize() {
+ return super.getTitleRelativeSize() / 0.85f;
+ }
+
+
+ @Override
+ protected float getSubTitleRelativeSize() {
+ float scale = (isTextEditingMissing() && !isVoiceInputMissing()) || isTextEditingActive() ? 0.85f : 0.96f;
+ return super.getSubTitleRelativeSize() / scale;
+ }
+
+
@Override
protected void handleHold() {
preventRepeat();
@@ -36,6 +50,7 @@ public class SoftKeyRF3 extends SoftKey {
tt9.toggleVoiceInput();
}
+
@Override
protected boolean handleRelease() {
if (!validateTT9Handler() && isTextEditingMissing() && isVoiceInputMissing()) {
@@ -53,6 +68,7 @@ public class SoftKeyRF3 extends SoftKey {
return true;
}
+
@Override
protected String getTitle() {
if (isTextEditingActive()) {
@@ -66,6 +82,7 @@ public class SoftKeyRF3 extends SoftKey {
return getContext().getString(R.string.virtual_key_text_editing).toUpperCase();
}
+
@Override
protected String getSubTitle() {
if (isTextEditingActive() || isTextEditingMissing() || isVoiceInputMissing()) {
@@ -75,6 +92,7 @@ public class SoftKeyRF3 extends SoftKey {
return getContext().getString(R.string.virtual_key_text_editing).toUpperCase();
}
+
@Override
public void render() {
super.render();
diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java
index 747dded0..d761aec3 100644
--- a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java
+++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyShift.java
@@ -29,7 +29,7 @@ public class SoftKeyShift extends SoftKey {
@Override
public void render() {
- setTextSize(30);
+ setTextSize(36);
setTypeface(Typeface.DEFAULT_BOLD);
super.render();
setEnabled(tt9 != null && !tt9.isVoiceInputActive() && !tt9.isInputModePhone() && !tt9.isNumericModeSigned());
diff --git a/app/src/main/res/layout/panel_numpad_text_editing_row_1.xml b/app/src/main/res/layout/panel_numpad_text_editing_row_1.xml
index 5bad1b07..f9427ccb 100644
--- a/app/src/main/res/layout/panel_numpad_text_editing_row_1.xml
+++ b/app/src/main/res/layout/panel_numpad_text_editing_row_1.xml
@@ -8,7 +8,6 @@
android:layout_weight="1"
android:drawableBottom="@drawable/ic_dpad_left"
android:paddingBottom="@dimen/soft_key_drawable_bottom_padding"
- android:textSize="@dimen/soft_key_drawable_title_size"
android:visibility="gone" />
diff --git a/app/src/main/res/layout/panel_numpad_text_editing_row_2.xml b/app/src/main/res/layout/panel_numpad_text_editing_row_2.xml
index 92ad2847..1811e10f 100644
--- a/app/src/main/res/layout/panel_numpad_text_editing_row_2.xml
+++ b/app/src/main/res/layout/panel_numpad_text_editing_row_2.xml
@@ -8,7 +8,6 @@
android:layout_weight="1"
android:drawableBottom="@drawable/ic_txt_word_back"
android:paddingBottom="@dimen/soft_key_drawable_bottom_padding"
- android:textSize="@dimen/soft_key_drawable_title_size"
android:visibility="gone" />
diff --git a/app/src/main/res/layout/panel_numpad_text_editing_row_3.xml b/app/src/main/res/layout/panel_numpad_text_editing_row_3.xml
index eee0f966..bac77ee7 100644
--- a/app/src/main/res/layout/panel_numpad_text_editing_row_3.xml
+++ b/app/src/main/res/layout/panel_numpad_text_editing_row_3.xml
@@ -8,7 +8,6 @@
android:layout_weight="1"
android:drawableBottom="@drawable/ic_txt_cut"
android:paddingBottom="@dimen/soft_key_drawable_bottom_padding"
- android:textSize="@dimen/soft_key_drawable_title_size"
android:visibility="gone" />
@@ -31,6 +29,5 @@
android:layout_weight="1"
android:drawableBottom="@drawable/ic_txt_paste"
android:paddingBottom="@dimen/soft_key_drawable_bottom_padding"
- android:textSize="@dimen/soft_key_drawable_title_size"
android:visibility="gone" />
diff --git a/app/src/main/res/layout/panel_small_text_editing.xml b/app/src/main/res/layout/panel_small_text_editing.xml
index 8edece53..d846ce22 100644
--- a/app/src/main/res/layout/panel_small_text_editing.xml
+++ b/app/src/main/res/layout/panel_small_text_editing.xml
@@ -14,8 +14,7 @@
android:layout_height="match_parent"
android:layout_weight="1"
android:drawableBottom="@drawable/ic_dpad_left"
- android:paddingBottom="@dimen/soft_key_drawable_bottom_padding"
- android:textSize="@dimen/soft_key_drawable_title_size" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
+ android:paddingBottom="@dimen/soft_key_drawable_bottom_padding" />
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index e73cf4dd..2db40fc2 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -9,7 +9,6 @@
44dp
24sp
6dp
- 12sp
30dp