mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-05-19 16:30:19 +00:00
add option for narrower key gap
This commit is contained in:
parent
77baaff462
commit
ffa9a01a2b
17 changed files with 80 additions and 21 deletions
|
@ -6,6 +6,7 @@ import android.widget.FrameLayout
|
|||
import android.widget.LinearLayout
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import org.dslul.openboard.inputmethod.latin.R
|
||||
import org.dslul.openboard.inputmethod.latin.settings.Settings
|
||||
import org.dslul.openboard.inputmethod.latin.utils.ResourceUtils
|
||||
|
||||
class ClipboardLayoutParams(res: Resources) {
|
||||
|
@ -26,14 +27,21 @@ class ClipboardLayoutParams(res: Resources) {
|
|||
val suggestionStripHeight = res.getDimensionPixelSize(R.dimen.config_suggestions_strip_height)
|
||||
val defaultKeyboardWidth = ResourceUtils.getDefaultKeyboardWidth(res)
|
||||
|
||||
keyVerticalGap = res.getFraction(R.fraction.config_key_vertical_gap_holo,
|
||||
if (Settings.getInstance().current.mNarrowKeyGaps) {
|
||||
keyVerticalGap = res.getFraction(R.fraction.config_key_vertical_gap_holo_narrow,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight).toInt()
|
||||
keyHorizontalGap = res.getFraction(R.fraction.config_key_horizontal_gap_holo_narrow,
|
||||
defaultKeyboardWidth, defaultKeyboardWidth).toInt()
|
||||
} else {
|
||||
keyVerticalGap = res.getFraction(R.fraction.config_key_vertical_gap_holo,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight).toInt()
|
||||
keyHorizontalGap = res.getFraction(R.fraction.config_key_horizontal_gap_holo,
|
||||
defaultKeyboardWidth, defaultKeyboardWidth).toInt()
|
||||
}
|
||||
bottomPadding = res.getFraction(R.fraction.config_keyboard_bottom_padding_holo,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight).toInt()
|
||||
topPadding = res.getFraction(R.fraction.config_keyboard_top_padding_holo,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight).toInt()
|
||||
keyHorizontalGap = res.getFraction(R.fraction.config_key_horizontal_gap_holo,
|
||||
defaultKeyboardWidth, defaultKeyboardWidth).toInt()
|
||||
|
||||
actionBarHeight = (defaultKeyboardHeight - bottomPadding - topPadding) / DEFAULT_KEYBOARD_ROWS - keyVerticalGap / 2
|
||||
listHeight = defaultKeyboardHeight + suggestionStripHeight - actionBarHeight - bottomPadding
|
||||
|
|
|
@ -22,7 +22,7 @@ import android.widget.LinearLayout;
|
|||
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import org.dslul.openboard.inputmethod.latin.R;
|
||||
import org.dslul.openboard.inputmethod.latin.settings.SettingsValues;
|
||||
import org.dslul.openboard.inputmethod.latin.settings.Settings;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.ResourceUtils;
|
||||
|
||||
final class EmojiLayoutParams {
|
||||
|
@ -41,14 +41,21 @@ final class EmojiLayoutParams {
|
|||
public EmojiLayoutParams(final Resources res) {
|
||||
final int defaultKeyboardHeight = ResourceUtils.getDefaultKeyboardHeight(res);
|
||||
final int defaultKeyboardWidth = ResourceUtils.getDefaultKeyboardWidth(res);
|
||||
mKeyVerticalGap = (int) res.getFraction(R.fraction.config_key_vertical_gap_holo,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight);
|
||||
if (Settings.getInstance().getCurrent().mNarrowKeyGaps) {
|
||||
mKeyVerticalGap = (int) res.getFraction(R.fraction.config_key_vertical_gap_holo_narrow,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight);
|
||||
mKeyHorizontalGap = (int) (res.getFraction(R.fraction.config_key_horizontal_gap_holo_narrow,
|
||||
defaultKeyboardWidth, defaultKeyboardWidth));
|
||||
} else {
|
||||
mKeyVerticalGap = (int) res.getFraction(R.fraction.config_key_vertical_gap_holo,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight);
|
||||
mKeyHorizontalGap = (int) (res.getFraction(R.fraction.config_key_horizontal_gap_holo,
|
||||
defaultKeyboardWidth, defaultKeyboardWidth));
|
||||
}
|
||||
mBottomPadding = (int) res.getFraction(R.fraction.config_keyboard_bottom_padding_holo,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight);
|
||||
mTopPadding = (int) res.getFraction(R.fraction.config_keyboard_top_padding_holo,
|
||||
defaultKeyboardHeight, defaultKeyboardHeight);
|
||||
mKeyHorizontalGap = (int) (res.getFraction(R.fraction.config_key_horizontal_gap_holo,
|
||||
defaultKeyboardWidth, defaultKeyboardWidth));
|
||||
mEmojiCategoryPageIdViewHeight =
|
||||
(int) (res.getDimension(R.dimen.config_emoji_category_page_id_height));
|
||||
final int baseheight = defaultKeyboardHeight - mBottomPadding - mTopPadding
|
||||
|
|
|
@ -35,6 +35,7 @@ import org.dslul.openboard.inputmethod.keyboard.KeyboardTheme;
|
|||
import org.dslul.openboard.inputmethod.latin.R;
|
||||
import org.dslul.openboard.inputmethod.latin.common.Constants;
|
||||
import org.dslul.openboard.inputmethod.latin.common.StringUtils;
|
||||
import org.dslul.openboard.inputmethod.latin.settings.Settings;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.ResourceUtils;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.XmlParseUtils;
|
||||
import org.dslul.openboard.inputmethod.latin.utils.XmlParseUtils.ParseException;
|
||||
|
@ -258,13 +259,22 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
|
|||
params.mBaseWidth = baseWidth;
|
||||
params.mDefaultKeyWidth = (int)keyAttr.getFraction(R.styleable.Keyboard_Key_keyWidth,
|
||||
baseWidth, baseWidth, baseWidth / DEFAULT_KEYBOARD_COLUMNS);
|
||||
params.mHorizontalGap = (int)keyboardAttr.getFraction(
|
||||
R.styleable.Keyboard_horizontalGap, baseWidth, baseWidth, 0);
|
||||
// TODO: Fix keyboard geometry calculation clearer. Historically vertical gap between
|
||||
// rows are determined based on the entire keyboard height including top and bottom
|
||||
// paddings.
|
||||
params.mVerticalGap = (int)keyboardAttr.getFraction(
|
||||
R.styleable.Keyboard_verticalGap, height, height, 0);
|
||||
|
||||
if (Settings.getInstance().getCurrent().mNarrowKeyGaps) {
|
||||
params.mHorizontalGap = (int) keyboardAttr.getFraction(
|
||||
R.styleable.Keyboard_horizontalGapNarrow, baseWidth, baseWidth, 0);
|
||||
params.mVerticalGap = (int) keyboardAttr.getFraction(
|
||||
R.styleable.Keyboard_verticalGapNarrow, height, height, 0);
|
||||
} else {
|
||||
params.mHorizontalGap = (int) keyboardAttr.getFraction(
|
||||
R.styleable.Keyboard_horizontalGap, baseWidth, baseWidth, 0);
|
||||
// TODO: Fix keyboard geometry calculation clearer. Historically vertical gap between
|
||||
// rows are determined based on the entire keyboard height including top and bottom
|
||||
// paddings.
|
||||
params.mVerticalGap = (int) keyboardAttr.getFraction(
|
||||
R.styleable.Keyboard_verticalGap, height, height, 0);
|
||||
}
|
||||
|
||||
final int baseHeight = params.mOccupiedHeight - params.mTopPadding
|
||||
- params.mBottomPadding + params.mVerticalGap;
|
||||
params.mBaseHeight = baseHeight;
|
||||
|
|
|
@ -248,6 +248,10 @@ class AppearanceSettingsFragment : SubScreenFragment(), Preference.OnPreferenceC
|
|||
.show()
|
||||
true
|
||||
}
|
||||
preferenceScreen.findPreference(Settings.PREF_NARROW_KEY_GAPS)?.onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _, _ ->
|
||||
needsReload = true
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupKeyboardHeight(prefKey: String, defaultValue: Float) {
|
||||
|
|
|
@ -141,8 +141,10 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
public static final String PREF_CLIPBOARD_HISTORY_RETENTION_TIME = "pref_clipboard_history_retention_time";
|
||||
|
||||
public static final String PREF_SECONDARY_LOCALES = "pref_secondary_locales";
|
||||
public static final String PREF_ADD_TO_PERSONAL_DICTIONARY = "add_to_personal_dictionary";
|
||||
public static final String PREF_NAVBAR_COLOR = "navbar_color";
|
||||
public static final String PREF_ADD_TO_PERSONAL_DICTIONARY = "pref_add_to_personal_dictionary";
|
||||
public static final String PREF_NAVBAR_COLOR = "pref_navbar_color";
|
||||
|
||||
public static final String PREF_NARROW_KEY_GAPS = "pref_narrow_key_gaps";
|
||||
|
||||
// This preference key is deprecated. Use {@link #PREF_SHOW_LANGUAGE_SWITCH_KEY} instead.
|
||||
// This is being used only for the backward compatibility.
|
||||
|
|
|
@ -88,6 +88,7 @@ public class SettingsValues {
|
|||
public final long mClipboardHistoryRetentionTime;
|
||||
public final boolean mOneHandedModeEnabled;
|
||||
public final int mOneHandedModeGravity;
|
||||
public final boolean mNarrowKeyGaps;
|
||||
public final List<Locale> mSecondaryLocales;
|
||||
// Use bigrams to predict the next word when there is no input for it yet
|
||||
public final boolean mBigramPredictionEnabled;
|
||||
|
@ -259,6 +260,7 @@ public class SettingsValues {
|
|||
mAddToPersonalDictionary = prefs.getBoolean(Settings.PREF_ADD_TO_PERSONAL_DICTIONARY, false);
|
||||
mUseContactsDictionary = prefs.getBoolean(AndroidSpellCheckerService.PREF_USE_CONTACTS_KEY, false);
|
||||
mCustomNavBarColor = prefs.getBoolean(Settings.PREF_NAVBAR_COLOR, false);
|
||||
mNarrowKeyGaps = prefs.getBoolean(Settings.PREF_NARROW_KEY_GAPS, true);
|
||||
}
|
||||
|
||||
public boolean isMetricsLoggingEnabled() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue