diff --git a/res/layout/main_numpad.xml b/res/layout/main_numpad.xml index 3b475f6b..e44561e5 100644 --- a/res/layout/main_numpad.xml +++ b/res/layout/main_numpad.xml @@ -12,7 +12,8 @@ + android:layout_height="@dimen/numpad_candidate_height" + android:layoutDirection="ltr"> + android:layout_height="fill_parent" + android:layout_weight="1"> + @@ -65,6 +68,7 @@ android:id="@+id/separator_candidates_bottom" style="@style/numRowSeparator" /> + + + + + + + - + diff --git a/src/io/github/sspanak/tt9/languages/Language.java b/src/io/github/sspanak/tt9/languages/Language.java index f728a3ac..c02fffdb 100644 --- a/src/io/github/sspanak/tt9/languages/Language.java +++ b/src/io/github/sspanak/tt9/languages/Language.java @@ -161,6 +161,10 @@ public class Language { return getKeyCharacters(2, false).contains("а"); } + public boolean isRTL() { + return isArabic() || isHebrew(); + } + public boolean isGreek() { return getKeyCharacters(2, false).contains("α"); } diff --git a/src/io/github/sspanak/tt9/ui/main/keys/SoftBackspaceKey.java b/src/io/github/sspanak/tt9/ui/main/keys/SoftBackspaceKey.java index 38cd2ba8..68d11891 100644 --- a/src/io/github/sspanak/tt9/ui/main/keys/SoftBackspaceKey.java +++ b/src/io/github/sspanak/tt9/ui/main/keys/SoftBackspaceKey.java @@ -42,6 +42,6 @@ public class SoftBackspaceKey extends SoftKey { } Language language = getCurrentLanguage(); - return language != null && (language.isArabic() || language.isHebrew()) ? "⌦" : "⌫"; + return language != null && language.isRTL() ? "⌦" : "⌫"; } } diff --git a/src/io/github/sspanak/tt9/ui/main/keys/SoftKey.java b/src/io/github/sspanak/tt9/ui/main/keys/SoftKey.java index 50b2e83d..adba9718 100644 --- a/src/io/github/sspanak/tt9/ui/main/keys/SoftKey.java +++ b/src/io/github/sspanak/tt9/ui/main/keys/SoftKey.java @@ -142,11 +142,14 @@ public class SoftKey extends androidx.appcompat.widget.AppCompatButton implement int keyId = getId(); boolean multiplePress = lastPressedKey == keyId; + Language language = getCurrentLanguage(); + boolean isRTL = language != null && language.isRTL(); + if (keyId == R.id.soft_key_add_word) return tt9.onKeyAddWord(false); if (keyId == R.id.soft_key_filter_suggestions) return tt9.onKeyFilterSuggestions(false, multiplePress); if (keyId == R.id.soft_key_clear_filter) return tt9.onKeyFilterClear(false); - if (keyId == R.id.soft_key_left_arrow) return tt9.onKeyScrollSuggestion(false, true); - if (keyId == R.id.soft_key_right_arrow) return tt9.onKeyScrollSuggestion(false, false); + if (keyId == R.id.soft_key_left_arrow) return tt9.onKeyScrollSuggestion(false, !isRTL); + if (keyId == R.id.soft_key_right_arrow) return tt9.onKeyScrollSuggestion(false, isRTL); if (keyId == R.id.soft_key_language) return tt9.onKeyNextLanguage(false); if (keyId == R.id.soft_key_ok) return tt9.onOK(); if (keyId == R.id.soft_key_settings) return tt9.onKeyShowSettings(false);