enabled width and alignment adjustment for all layouts
This commit is contained in:
parent
b340058861
commit
78e559fe19
27 changed files with 204 additions and 175 deletions
|
|
@ -49,7 +49,7 @@ public class ItemNumpadAlignment extends ItemDropDown {
|
|||
|
||||
void onLayoutChange(int mainViewLayout) {
|
||||
if (item != null) {
|
||||
item.setEnabled(mainViewLayout == SettingsStore.LAYOUT_NUMPAD);
|
||||
item.setEnabled(mainViewLayout != SettingsStore.LAYOUT_STEALTH);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class ItemNumpadWidth extends ItemDropDown {
|
|||
|
||||
void onLayoutChange(int mainViewLayout) {
|
||||
if (item != null) {
|
||||
item.setEnabled(mainViewLayout == SettingsStore.LAYOUT_NUMPAD);
|
||||
item.setEnabled(mainViewLayout != SettingsStore.LAYOUT_STEALTH);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,9 +3,11 @@ package io.github.sspanak.tt9.ui.main;
|
|||
import android.graphics.Insets;
|
||||
import android.os.Build;
|
||||
import android.view.ContextThemeWrapper;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowInsets;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.RequiresApi;
|
||||
|
|
@ -135,7 +137,73 @@ abstract class BaseMainLayout {
|
|||
}
|
||||
|
||||
|
||||
void setWidth(int widthPercent) {}
|
||||
/**
|
||||
* Adjusts the width of the keyboard to the given percentage of the screen width.
|
||||
*/
|
||||
private void setKeyboardWidth(int widthPercent) {
|
||||
View keyboard = view != null ? view.findViewById(R.id.keyboard_container) : null;
|
||||
if (keyboard == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
LinearLayout.LayoutParams layout = (LinearLayout.LayoutParams) keyboard.getLayoutParams();
|
||||
if (layout != null) {
|
||||
layout.weight = widthPercent;
|
||||
keyboard.setLayoutParams(layout);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adjust the padding on both sides of the keyboard to make it centered, or aligned to the
|
||||
* left or right.
|
||||
*/
|
||||
private void setBumperWidth(int widthPercent, int gravity) {
|
||||
View leftBumper = view.findViewById(R.id.bumper_left);
|
||||
View rightBumper = view.findViewById(R.id.bumper_right);
|
||||
if (leftBumper == null || rightBumper == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
int leftPadding = 0;
|
||||
int rightPadding = 0;
|
||||
|
||||
switch (gravity) {
|
||||
case Gravity.CENTER_HORIZONTAL:
|
||||
leftPadding = rightPadding = (100 - widthPercent) / 2;
|
||||
break;
|
||||
|
||||
case Gravity.START:
|
||||
rightPadding = 100 - widthPercent;
|
||||
break;
|
||||
|
||||
case Gravity.END:
|
||||
leftPadding = 100 - widthPercent;
|
||||
break;
|
||||
}
|
||||
|
||||
LinearLayout.LayoutParams layout = (LinearLayout.LayoutParams) leftBumper.getLayoutParams();
|
||||
if (layout != null) {
|
||||
layout.weight = leftPadding;
|
||||
leftBumper.setLayoutParams(layout);
|
||||
}
|
||||
|
||||
layout = (LinearLayout.LayoutParams) rightBumper.getLayoutParams();
|
||||
if (layout != null) {
|
||||
layout.weight = rightPadding;
|
||||
rightBumper.setLayoutParams(layout);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void setWidth(int widthPercent, int gravity) {
|
||||
if (view == null || widthPercent <= 0 || widthPercent > 100) {
|
||||
return;
|
||||
}
|
||||
|
||||
setBumperWidth(widthPercent, gravity);
|
||||
setKeyboardWidth(widthPercent);
|
||||
}
|
||||
|
||||
|
||||
abstract void showCommandPalette();
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package io.github.sspanak.tt9.ui.main;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewParent;
|
||||
import android.widget.LinearLayout;
|
||||
|
|
@ -164,87 +162,6 @@ class MainLayoutNumpad extends BaseMainLayout {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adjusts the width of the keyboard to the given percentage of the screen width.
|
||||
*/
|
||||
private void setKeyboardWidth(int widthPercent) {
|
||||
View keyboard = view != null ? view.findViewById(R.id.numpad_container) : null;
|
||||
if (keyboard == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
LinearLayout.LayoutParams layout = (LinearLayout.LayoutParams) keyboard.getLayoutParams();
|
||||
if (layout != null) {
|
||||
layout.weight = widthPercent;
|
||||
keyboard.setLayoutParams(layout);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adjust the padding on both sides of the keyboard to make it centered, or aligned to the
|
||||
* left or right.
|
||||
*/
|
||||
private void setBumperWidth(int widthPercent, int gravity) {
|
||||
View leftBumper = view.findViewById(R.id.numpad_bumper_left);
|
||||
View rightBumper = view.findViewById(R.id.numpad_bumper_right);
|
||||
if (leftBumper == null || rightBumper == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
int leftPadding = 0;
|
||||
int rightPadding = 0;
|
||||
|
||||
switch (gravity) {
|
||||
case Gravity.CENTER_HORIZONTAL:
|
||||
leftPadding = rightPadding = (100 - widthPercent) / 2;
|
||||
break;
|
||||
|
||||
case Gravity.START:
|
||||
rightPadding = 100 - widthPercent;
|
||||
break;
|
||||
|
||||
case Gravity.END:
|
||||
leftPadding = 100 - widthPercent;
|
||||
break;
|
||||
}
|
||||
|
||||
LinearLayout.LayoutParams layout = (LinearLayout.LayoutParams) leftBumper.getLayoutParams();
|
||||
if (layout != null) {
|
||||
layout.weight = leftPadding;
|
||||
leftBumper.setLayoutParams(layout);
|
||||
}
|
||||
|
||||
layout = (LinearLayout.LayoutParams) rightBumper.getLayoutParams();
|
||||
if (layout != null) {
|
||||
layout.weight = rightPadding;
|
||||
rightBumper.setLayoutParams(layout);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void setWidth(int widthPercent, int gravity) {
|
||||
if (view == null || widthPercent <= 0 || widthPercent > 100) {
|
||||
return;
|
||||
}
|
||||
|
||||
setBumperWidth(widthPercent, gravity);
|
||||
setKeyboardWidth(widthPercent);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
void render() {
|
||||
getView();
|
||||
setKeyHeight(getKeyHeightCompat());
|
||||
setWidth(tt9.getSettings().getNumpadWidthPercent(), tt9.getSettings().getNumpadAlignment());
|
||||
enableClickHandlers();
|
||||
for (SoftKey key : getKeys()) {
|
||||
key.render();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void enableClickHandlers() {
|
||||
super.enableClickHandlers();
|
||||
|
|
@ -307,4 +224,16 @@ class MainLayoutNumpad extends BaseMainLayout {
|
|||
|
||||
return keys;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
void render() {
|
||||
getView();
|
||||
setKeyHeight(getKeyHeightCompat());
|
||||
setWidth(tt9.getSettings().getNumpadWidthPercent(), tt9.getSettings().getNumpadAlignment());
|
||||
enableClickHandlers();
|
||||
for (SoftKey key : getKeys()) {
|
||||
key.render();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,6 @@ class MainLayoutStealth extends BaseMainLayout {
|
|||
}
|
||||
@Override void hideTextEditingPalette() { isTextEditingPaletteShown = false; }
|
||||
@Override boolean isTextEditingPaletteShown() { return isTextEditingPaletteShown; }
|
||||
|
||||
@Override void setWidth(int w, int g) {}
|
||||
@Override void render() {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,16 +72,6 @@ class MainLayoutTray extends BaseMainLayout {
|
|||
return view != null && view.findViewById(R.id.text_editing_container).getVisibility() == LinearLayout.VISIBLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
void render() {
|
||||
getView();
|
||||
enableClickHandlers();
|
||||
setSoftKeysVisibility();
|
||||
for (SoftKey key : getKeys()) {
|
||||
key.render();
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected ArrayList<SoftKey> getKeys() {
|
||||
|
|
@ -91,4 +81,15 @@ class MainLayoutTray extends BaseMainLayout {
|
|||
}
|
||||
return keys;
|
||||
}
|
||||
|
||||
@Override
|
||||
void render() {
|
||||
getView();
|
||||
setSoftKeysVisibility();
|
||||
setWidth(tt9.getSettings().getNumpadWidthPercent(), tt9.getSettings().getNumpadAlignment());
|
||||
enableClickHandlers();
|
||||
for (SoftKey key : getKeys()) {
|
||||
key.render();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,10 +57,7 @@ public class ResizableMainView extends MainView implements View.OnAttachStateCha
|
|||
}
|
||||
}
|
||||
|
||||
@Override public void onViewAttachedToWindow(@NonNull View v) {
|
||||
setHeight(height, heightSmall, heightNumpad);
|
||||
main.setWidth(tt9.getSettings().getNumpadWidthPercent());
|
||||
}
|
||||
@Override public void onViewAttachedToWindow(@NonNull View v) { setHeight(height, heightSmall, heightNumpad); }
|
||||
@Override public void onViewDetachedFromWindow(@NonNull View v) {}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import android.view.MotionEvent;
|
|||
import android.view.View;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.DefaultItemAnimator;
|
||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||
|
|
@ -36,7 +37,7 @@ public class SuggestionsBar {
|
|||
|
||||
private final ResizableMainView mainView;
|
||||
private final Runnable onItemClick;
|
||||
private final RecyclerView mView;
|
||||
@Nullable private final RecyclerView mView;
|
||||
private final SettingsStore settings;
|
||||
private SuggestionsAdapter mSuggestionsAdapter;
|
||||
private Vibration vibration;
|
||||
|
|
@ -65,6 +66,10 @@ public class SuggestionsBar {
|
|||
|
||||
|
||||
private void configureAnimation() {
|
||||
if (mView == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
DefaultItemAnimator animator = new DefaultItemAnimator();
|
||||
|
||||
animator.setMoveDuration(SettingsStore.SUGGESTIONS_SELECT_ANIMATION_DURATION);
|
||||
|
|
@ -77,6 +82,10 @@ public class SuggestionsBar {
|
|||
|
||||
|
||||
private void initDataAdapter(Context context) {
|
||||
if (mView == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
mSuggestionsAdapter = new SuggestionsAdapter(
|
||||
context,
|
||||
this::handleItemClick,
|
||||
|
|
@ -84,6 +93,7 @@ public class SuggestionsBar {
|
|||
R.id.suggestion_list_item,
|
||||
suggestions
|
||||
);
|
||||
|
||||
mView.setAdapter(mSuggestionsAdapter);
|
||||
|
||||
setDarkTheme();
|
||||
|
|
@ -91,6 +101,10 @@ public class SuggestionsBar {
|
|||
|
||||
|
||||
private void initSeparator(Context context) {
|
||||
if (mView == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Extra XML is required instead of a ColorDrawable object, because setting the highlight color
|
||||
// erases the borders defined using the ColorDrawable.
|
||||
Drawable separatorDrawable = ContextCompat.getDrawable(context, R.drawable.suggestion_separator);
|
||||
|
|
@ -144,8 +158,10 @@ public class SuggestionsBar {
|
|||
|
||||
|
||||
public void setRTL(boolean yes) {
|
||||
if (mView != null) {
|
||||
mView.setLayoutDirection(yes ? View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void setSuggestions(List<String> newSuggestions, int initialSel, boolean containsGenerated) {
|
||||
|
|
@ -275,6 +291,10 @@ public class SuggestionsBar {
|
|||
* to set the selected index in the adapter.
|
||||
*/
|
||||
private void scrollView() {
|
||||
if (mView == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (containsStem() && selectedIndex == 1) {
|
||||
mView.scrollToPosition(0);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
style="@style/TTheme.FullScreenContainer"
|
||||
android:id="@+id/full_screen_container">
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
style="@style/TTheme.FullScreenContainer">
|
||||
|
||||
<LinearLayout style="@style/TTheme.FullScreenContainer.SideBumper" android:id="@+id/numpad_bumper_left" />
|
||||
<LinearLayout style="@style/TTheme.FullScreenContainer.SideBumper" android:id="@+id/bumper_left" />
|
||||
|
||||
<LinearLayout style="@style/TTheme.Numpad" android:id="@+id/numpad_container">
|
||||
<LinearLayout style="@style/TTheme.Numpad" android:id="@+id/keyboard_container">
|
||||
<View style="@style/TTheme.Keyboard.TopSeparator" />
|
||||
<include layout="@layout/panel_numpad_status_bar" />
|
||||
|
||||
|
|
@ -22,6 +22,6 @@
|
|||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout style="@style/TTheme.FullScreenContainer.SideBumper" android:id="@+id/numpad_bumper_right" />
|
||||
<LinearLayout style="@style/TTheme.FullScreenContainer.SideBumper" android:id="@+id/bumper_right" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
|||
|
|
@ -1,37 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
style="@style/TTheme.MainSmall">
|
||||
style="@style/TTheme.FullScreenContainer">
|
||||
|
||||
<LinearLayout style="@style/TTheme.FullScreenContainer.SideBumper" android:id="@+id/bumper_left" />
|
||||
|
||||
<LinearLayout style="@style/TTheme.MainSmall" android:id="@+id/keyboard_container">
|
||||
<View style="@style/TTheme.Keyboard.TopSeparator" />
|
||||
|
||||
<FrameLayout
|
||||
style="@style/TTheme.MainSmall.StatusBar.Wrapper"
|
||||
android:defaultFocusHighlightEnabled="false"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false">
|
||||
|
||||
<TextView
|
||||
style="@style/TTheme.MainSmall.StatusBar.Status"
|
||||
android:id="@+id/status_bar"
|
||||
android:defaultFocusHighlightEnabled="false"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
style="@style/TTheme.MainSmall.StatusBar.SuggestionList"
|
||||
android:id="@+id/suggestions_bar"
|
||||
android:defaultFocusHighlightEnabled="false"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<include
|
||||
layout="@layout/panel_small_function_keys"
|
||||
android:id="@+id/main_soft_keys" />
|
||||
<include layout="@layout/panel_small_status_bar" />
|
||||
<include layout="@layout/panel_small_function_keys" android:id="@+id/main_soft_keys" />
|
||||
|
||||
<include
|
||||
layout="@layout/panel_small_command_palette"
|
||||
|
|
@ -42,5 +19,8 @@
|
|||
layout="@layout/panel_small_text_editing"
|
||||
android:id="@+id/text_editing_container"
|
||||
android:visibility="gone" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout style="@style/TTheme.FullScreenContainer.SideBumper" android:id="@+id/bumper_right" />
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/main_soft_keys"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:id="@+id/main_soft_keys"
|
||||
android:orientation="horizontal">
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
|
|
|||
25
app/src/main/res/layout/panel_small_status_bar.xml
Normal file
25
app/src/main/res/layout/panel_small_status_bar.xml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
style="@style/TTheme.MainSmall.StatusBar.Wrapper"
|
||||
android:defaultFocusHighlightEnabled="false"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false">
|
||||
|
||||
<TextView
|
||||
style="@style/TTheme.MainSmall.StatusBar.Status"
|
||||
android:id="@+id/status_bar"
|
||||
android:defaultFocusHighlightEnabled="false"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false"
|
||||
tools:text="@tools:sample/lorem" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
style="@style/TTheme.MainSmall.StatusBar.SuggestionList"
|
||||
android:id="@+id/suggestions_bar"
|
||||
android:defaultFocusHighlightEnabled="false"
|
||||
android:focusable="false"
|
||||
android:focusableInTouchMode="false" />
|
||||
|
||||
</FrameLayout>
|
||||
|
|
@ -190,4 +190,5 @@
|
|||
<string name="punctuation_order_save">Запази подредбата</string>
|
||||
<string name="punctuation_order_forbidden_char">Забранен символ:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Забранени символи:%1$s</string>
|
||||
<string name="pref_category_geometry">Геометрия</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -178,4 +178,5 @@
|
|||
<string name="punctuation_order_forbidden_char">Verbotenes Zeichen:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Verbotene Zeichen:%1$s</string>
|
||||
<string name="function_filter_suggestions_not_available">Das Filtern ist in dieser Sprache nicht möglich.</string>
|
||||
<string name="pref_category_geometry">Geometrie</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -188,4 +188,5 @@
|
|||
<string name="punctuation_order_save">Guardar orden</string>
|
||||
<string name="punctuation_order_forbidden_char">Carácter prohibido:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Caracteres prohibidos:%1$s</string>
|
||||
<string name="pref_category_geometry">Geometría</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -186,4 +186,5 @@
|
|||
<string name="punctuation_order_save">Enregistrer l’ordre</string>
|
||||
<string name="punctuation_order_forbidden_char">Caractère interdit:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Caractères interdits:%1$s</string>
|
||||
<string name="pref_category_geometry">Géométrie</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -178,5 +178,6 @@
|
|||
<string name="punctuation_order_forbidden_char">Carattere vietato:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Caratteri vietati:%1$s</string>
|
||||
<string name="function_filter_suggestions_not_available">Il filtraggio non è possibile in questa lingua.</string>
|
||||
<string name="pref_category_geometry">Geometria</string>
|
||||
</resources>
|
||||
|
||||
|
|
|
|||
|
|
@ -191,4 +191,5 @@
|
|||
<string name="punctuation_order_forbidden_char">תו אסור:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">תווים אסורים:%1$s</string>
|
||||
<string name="function_filter_suggestions_not_available">לא ניתן לסנן בשפה זו.</string>
|
||||
<string name="pref_category_geometry">גיאומטריה</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -197,4 +197,5 @@
|
|||
<string name="punctuation_order_save">Išsaugoti tvarką</string>
|
||||
<string name="punctuation_order_forbidden_char">Draudžiamas simbolis:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Draudžiami simboliai:%1$s</string>
|
||||
<string name="pref_category_geometry">Geometrija</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -177,4 +177,5 @@
|
|||
<string name="punctuation_order_forbidden_char">Verboden teken:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Verboden tekens:%1$s</string>
|
||||
<string name="function_filter_suggestions_not_available">Het filteren is niet mogelijk in deze taal.</string>
|
||||
<string name="pref_category_geometry">Geometrie</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -191,4 +191,5 @@
|
|||
<string name="punctuation_order_forbidden_char">Caractere proibido:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Caracteres proibidos:%1$s</string>
|
||||
<string name="function_filter_suggestions_not_available">Não é possível filtrar neste idioma.</string>
|
||||
<string name="pref_category_geometry">Geometria</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -188,4 +188,5 @@
|
|||
<string name="punctuation_order_save">Сохранить порядок</string>
|
||||
<string name="punctuation_order_forbidden_char">Запрещённый символ:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Запрещённые символы:%1$s</string>
|
||||
<string name="pref_category_geometry">Геометрия</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -191,4 +191,5 @@
|
|||
<string name="punctuation_order_save">Sıralamayı kaydet</string>
|
||||
<string name="punctuation_order_forbidden_char">Yasaklı karakter:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Yasaklı karakterler:%1$s</string>
|
||||
<string name="pref_category_geometry">Geometri</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -199,4 +199,5 @@
|
|||
<string name="punctuation_order_save">Зберегти порядок</string>
|
||||
<string name="punctuation_order_forbidden_char">Заборонений символ:%1$s</string>
|
||||
<string name="punctuation_order_forbidden_chars">Заборонені символи:%1$s</string>
|
||||
<string name="pref_category_geometry">Геометрія</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
<string name="pref_category_abc_mode">ABC Mode</string>
|
||||
<string name="pref_category_appearance">Appearance</string>
|
||||
<string name="pref_category_custom_words">Added Words</string>
|
||||
<string name="pref_category_geometry">Geometry</string>
|
||||
<string name="pref_category_debug_options" translatable="false">Debug Options</string>
|
||||
<string name="pref_category_delete_words">Delete Added Words</string>
|
||||
<string name="pref_category_function_keys">Select Hotkeys</string>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,21 @@
|
|||
<item name="windowNoTitle">true</item> <!-- hide some weird floating rectangle above the dialog -->
|
||||
</style>
|
||||
|
||||
<style name="TTheme.FullScreenContainer" parent="">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layoutDirection">ltr</item>
|
||||
<item name="android:orientation">horizontal</item>
|
||||
</style>
|
||||
|
||||
<style name="TTheme.FullScreenContainer.SideBumper" parent="">
|
||||
<item name="android:layout_height">1dp</item>
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_weight">0</item>
|
||||
<item name="android:layoutDirection">ltr</item>
|
||||
<item name="android:orientation">horizontal</item>
|
||||
</style>
|
||||
|
||||
<style name="TTheme.Preferences" parent="Theme.AppCompat.DayNight" />
|
||||
|
||||
<style name="TTheme.Keyboard" parent="TTheme">
|
||||
|
|
@ -30,8 +45,9 @@
|
|||
*******************************************-->
|
||||
|
||||
<style name="TTheme.MainSmall" parent="TTheme.Keyboard">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_weight">100</item>
|
||||
<item name="android:orientation">vertical</item>
|
||||
</style>
|
||||
|
||||
|
|
@ -140,21 +156,6 @@
|
|||
Numpad
|
||||
*******************************************-->
|
||||
|
||||
<style name="TTheme.FullScreenContainer" parent="">
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layoutDirection">ltr</item>
|
||||
<item name="android:orientation">horizontal</item>
|
||||
</style>
|
||||
|
||||
<style name="TTheme.FullScreenContainer.SideBumper" parent="">
|
||||
<item name="android:layout_height">1dp</item>
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_weight">0</item>
|
||||
<item name="android:layoutDirection">ltr</item>
|
||||
<item name="android:orientation">horizontal</item>
|
||||
</style>
|
||||
|
||||
<!-- The keyboard itself -->
|
||||
<style name="TTheme.Numpad" parent="TTheme.Keyboard">
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
|
|
|
|||
|
|
@ -14,18 +14,18 @@
|
|||
app:key="pref_layout_type"
|
||||
app:title="@string/pref_layout" />
|
||||
|
||||
<PreferenceCategory app:title="@string/pref_layout_numpad">
|
||||
<PreferenceCategory app:title="@string/pref_category_geometry">
|
||||
<DropDownPreference
|
||||
app:key="pref_numpad_key_height"
|
||||
app:title="@string/pref_numpad_key_height" />
|
||||
app:key="pref_numpad_alignment"
|
||||
app:title="@string/pref_numpad_alignment" />
|
||||
|
||||
<DropDownPreference
|
||||
app:key="pref_numpad_width"
|
||||
app:title="@string/pref_numpad_width" />
|
||||
|
||||
<DropDownPreference
|
||||
app:key="pref_numpad_alignment"
|
||||
app:title="@string/pref_numpad_alignment" />
|
||||
app:key="pref_numpad_key_height"
|
||||
app:title="@string/pref_numpad_key_height" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory app:title="@string/pref_category_hacks">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue