Fix text scales in keyboard buttons
This commit is contained in:
parent
7e41f30e06
commit
8a5d163b06
@ -1,6 +1,5 @@
|
|||||||
package org.solovyev.android.calculator;
|
package org.solovyev.android.calculator;
|
||||||
|
|
||||||
import dagger.Component;
|
|
||||||
import org.solovyev.android.calculator.converter.ConverterFragment;
|
import org.solovyev.android.calculator.converter.ConverterFragment;
|
||||||
import org.solovyev.android.calculator.errors.FixableErrorFragment;
|
import org.solovyev.android.calculator.errors.FixableErrorFragment;
|
||||||
import org.solovyev.android.calculator.errors.FixableErrorsActivity;
|
import org.solovyev.android.calculator.errors.FixableErrorsActivity;
|
||||||
@ -16,6 +15,9 @@ import org.solovyev.android.calculator.preferences.PreferencesActivity;
|
|||||||
import org.solovyev.android.calculator.preferences.PurchaseDialogActivity;
|
import org.solovyev.android.calculator.preferences.PurchaseDialogActivity;
|
||||||
import org.solovyev.android.calculator.variables.EditVariableFragment;
|
import org.solovyev.android.calculator.variables.EditVariableFragment;
|
||||||
import org.solovyev.android.calculator.variables.VariablesFragment;
|
import org.solovyev.android.calculator.variables.VariablesFragment;
|
||||||
|
import org.solovyev.android.calculator.wizard.DragButtonWizardStep;
|
||||||
|
|
||||||
|
import dagger.Component;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
@ -46,4 +48,5 @@ public interface AppComponent {
|
|||||||
void inject(PreferencesActivity activity);
|
void inject(PreferencesActivity activity);
|
||||||
void inject(BaseKeyboardUi ui);
|
void inject(BaseKeyboardUi ui);
|
||||||
void inject(CalculatorOnscreenView view);
|
void inject(CalculatorOnscreenView view);
|
||||||
|
void inject(DragButtonWizardStep fragment);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
package org.solovyev.android.calculator.keyboard;
|
package org.solovyev.android.calculator.keyboard;
|
||||||
|
|
||||||
|
import static android.view.HapticFeedbackConstants.FLAG_IGNORE_GLOBAL_SETTING;
|
||||||
|
import static android.view.HapticFeedbackConstants.FLAG_IGNORE_VIEW_SETTING;
|
||||||
|
import static android.view.HapticFeedbackConstants.KEYBOARD_TAP;
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
|
import static org.solovyev.android.calculator.App.getScreenMetrics;
|
||||||
|
import static org.solovyev.android.calculator.Preferences.Gui.Layout.simple;
|
||||||
|
import static org.solovyev.android.calculator.Preferences.Gui.Layout.simple_mobile;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
@ -10,8 +18,14 @@ import android.support.annotation.Nullable;
|
|||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
|
||||||
import org.solovyev.android.Views;
|
import org.solovyev.android.Views;
|
||||||
import org.solovyev.android.calculator.*;
|
import org.solovyev.android.calculator.BaseUi;
|
||||||
|
import org.solovyev.android.calculator.Calculator;
|
||||||
|
import org.solovyev.android.calculator.Editor;
|
||||||
|
import org.solovyev.android.calculator.Keyboard;
|
||||||
|
import org.solovyev.android.calculator.Preferences;
|
||||||
|
import org.solovyev.android.calculator.PreferredPreferences;
|
||||||
import org.solovyev.android.calculator.buttons.CppSpecialButton;
|
import org.solovyev.android.calculator.buttons.CppSpecialButton;
|
||||||
import org.solovyev.android.calculator.view.ScreenMetrics;
|
import org.solovyev.android.calculator.view.ScreenMetrics;
|
||||||
import org.solovyev.android.views.Adjuster;
|
import org.solovyev.android.views.Adjuster;
|
||||||
@ -20,21 +34,16 @@ import org.solovyev.android.views.dragbutton.DragButton;
|
|||||||
import org.solovyev.android.views.dragbutton.DragDirection;
|
import org.solovyev.android.views.dragbutton.DragDirection;
|
||||||
import org.solovyev.android.views.dragbutton.SimpleDragListener;
|
import org.solovyev.android.views.dragbutton.SimpleDragListener;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static android.view.HapticFeedbackConstants.*;
|
import javax.annotation.Nonnull;
|
||||||
import static org.solovyev.android.calculator.App.cast;
|
import javax.inject.Inject;
|
||||||
import static org.solovyev.android.calculator.App.getScreenMetrics;
|
|
||||||
import static org.solovyev.android.calculator.Preferences.Gui.Layout.simple;
|
|
||||||
import static org.solovyev.android.calculator.Preferences.Gui.Layout.simple_mobile;
|
|
||||||
|
|
||||||
public abstract class BaseKeyboardUi implements SharedPreferences.OnSharedPreferenceChangeListener, SimpleDragListener.DragProcessor, View.OnClickListener {
|
public abstract class BaseKeyboardUi implements SharedPreferences.OnSharedPreferenceChangeListener, SimpleDragListener.DragProcessor, View.OnClickListener {
|
||||||
|
|
||||||
protected static final float TEXT_SCALE = 0.6f;
|
public static final float TEXT_SCALE = 0.6f;
|
||||||
protected static final float IMAGE_SCALE = 0.6f;
|
public static final float IMAGE_SCALE = 0.6f;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private final List<DragButton> dragButtons = new ArrayList<>();
|
private final List<DragButton> dragButtons = new ArrayList<>();
|
||||||
|
@ -28,16 +28,23 @@ import android.view.ContextThemeWrapper;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.Button;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
|
import android.widget.ImageView;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
|
|
||||||
|
import org.solovyev.android.Views;
|
||||||
import org.solovyev.android.calculator.App;
|
import org.solovyev.android.calculator.App;
|
||||||
import org.solovyev.android.calculator.Preferences;
|
import org.solovyev.android.calculator.Preferences;
|
||||||
import org.solovyev.android.calculator.R;
|
import org.solovyev.android.calculator.R;
|
||||||
|
import org.solovyev.android.calculator.keyboard.BaseKeyboardUi;
|
||||||
|
import org.solovyev.android.views.Adjuster;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
public class ChooseThemeWizardStep extends WizardFragment implements AdapterView.OnItemSelectedListener {
|
public class ChooseThemeWizardStep extends WizardFragment implements AdapterView.OnItemSelectedListener {
|
||||||
|
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@ -85,6 +92,16 @@ public class ChooseThemeWizardStep extends WizardFragment implements AdapterView
|
|||||||
preview.removeAllViews();
|
preview.removeAllViews();
|
||||||
final ContextThemeWrapper context = new ContextThemeWrapper(getActivity(), theme.theme);
|
final ContextThemeWrapper context = new ContextThemeWrapper(getActivity(), theme.theme);
|
||||||
LayoutInflater.from(context).inflate(R.layout.cpp_wizard_step_choose_theme_preview, preview);
|
LayoutInflater.from(context).inflate(R.layout.cpp_wizard_step_choose_theme_preview, preview);
|
||||||
|
Views.processViews(preview, new Views.ViewProcessor<View>() {
|
||||||
|
@Override
|
||||||
|
public void process(@Nonnull View view) {
|
||||||
|
if (view instanceof Button) {
|
||||||
|
Adjuster.adjustText((Button) view, BaseKeyboardUi.TEXT_SCALE);
|
||||||
|
} else if (view instanceof ImageView) {
|
||||||
|
Adjuster.adjustImage((ImageView) view, BaseKeyboardUi.IMAGE_SCALE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,13 +22,19 @@
|
|||||||
|
|
||||||
package org.solovyev.android.calculator.wizard;
|
package org.solovyev.android.calculator.wizard;
|
||||||
|
|
||||||
|
import static org.solovyev.android.calculator.App.cast;
|
||||||
|
|
||||||
import android.graphics.PointF;
|
import android.graphics.PointF;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import org.solovyev.android.calculator.BaseUi;
|
||||||
import org.solovyev.android.calculator.R;
|
import org.solovyev.android.calculator.R;
|
||||||
|
import org.solovyev.android.calculator.keyboard.BaseKeyboardUi;
|
||||||
|
import org.solovyev.android.views.Adjuster;
|
||||||
import org.solovyev.android.views.dragbutton.DirectionDragButton;
|
import org.solovyev.android.views.dragbutton.DirectionDragButton;
|
||||||
import org.solovyev.android.views.dragbutton.DragButton;
|
import org.solovyev.android.views.dragbutton.DragButton;
|
||||||
import org.solovyev.android.views.dragbutton.DragDirection;
|
import org.solovyev.android.views.dragbutton.DragDirection;
|
||||||
@ -38,41 +44,24 @@ import java.util.Arrays;
|
|||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
public class DragButtonWizardStep extends WizardFragment {
|
public class DragButtonWizardStep extends WizardFragment {
|
||||||
|
|
||||||
/*
|
|
||||||
**********************************************************************
|
|
||||||
*
|
|
||||||
* CONSTANTS
|
|
||||||
*
|
|
||||||
**********************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
private static final String ACTION = "action";
|
private static final String ACTION = "action";
|
||||||
|
|
||||||
/*
|
|
||||||
**********************************************************************
|
|
||||||
*
|
|
||||||
* FIELDS
|
|
||||||
*
|
|
||||||
**********************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
private DirectionDragButton dragButton;
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
private TextView actionTextView;
|
private TextView actionTextView;
|
||||||
|
|
||||||
@Nonnull
|
|
||||||
private TextView descriptionTextView;
|
|
||||||
|
|
||||||
private DragButtonAction action = DragButtonAction.center;
|
private DragButtonAction action = DragButtonAction.center;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
Typeface typeface;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
cast(this).getComponent().inject(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -84,12 +73,13 @@ public class DragButtonWizardStep extends WizardFragment {
|
|||||||
public void onViewCreated(View root, Bundle savedInstanceState) {
|
public void onViewCreated(View root, Bundle savedInstanceState) {
|
||||||
super.onViewCreated(root, savedInstanceState);
|
super.onViewCreated(root, savedInstanceState);
|
||||||
|
|
||||||
dragButton = (DirectionDragButton) root.findViewById(R.id.wizard_dragbutton);
|
final DirectionDragButton dragButton =(DirectionDragButton) root.findViewById(R.id.wizard_dragbutton);
|
||||||
dragButton.setOnClickListener(new DragButtonOnClickListener());
|
dragButton.setOnClickListener(this);
|
||||||
dragButton.setOnDragListener(new SimpleDragListener(new DragButtonProcessor(), getActivity()));
|
dragButton.setOnDragListener(
|
||||||
|
new SimpleDragListener(new DragButtonProcessor(), getActivity()));
|
||||||
|
BaseUi.setFont(dragButton, typeface);
|
||||||
|
Adjuster.adjustText(dragButton, BaseKeyboardUi.TEXT_SCALE);
|
||||||
actionTextView = (TextView) root.findViewById(R.id.wizard_dragbutton_action_textview);
|
actionTextView = (TextView) root.findViewById(R.id.wizard_dragbutton_action_textview);
|
||||||
descriptionTextView = (TextView) root.findViewById(R.id.wizard_dragbutton_description_textview);
|
|
||||||
|
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
setAction((DragButtonAction) savedInstanceState.getSerializable(ACTION));
|
setAction((DragButtonAction) savedInstanceState.getSerializable(ACTION));
|
||||||
}
|
}
|
||||||
@ -102,14 +92,6 @@ public class DragButtonWizardStep extends WizardFragment {
|
|||||||
outState.putSerializable(ACTION, action);
|
outState.putSerializable(ACTION, action);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
**********************************************************************
|
|
||||||
*
|
|
||||||
* STATIC/INNER
|
|
||||||
*
|
|
||||||
**********************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
private void setNextAction() {
|
private void setNextAction() {
|
||||||
setAction(action.getNextAction());
|
setAction(action.getNextAction());
|
||||||
}
|
}
|
||||||
@ -120,14 +102,6 @@ public class DragButtonWizardStep extends WizardFragment {
|
|||||||
if (actionTextView != null) {
|
if (actionTextView != null) {
|
||||||
actionTextView.setText(this.action.actionTextResId);
|
actionTextView.setText(this.action.actionTextResId);
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean firstChange = false;
|
|
||||||
if (action != DragButtonAction.center) {
|
|
||||||
firstChange = true;
|
|
||||||
}
|
|
||||||
if (firstChange) {
|
|
||||||
//descriptionTextView.setVisibility(GONE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -159,13 +133,15 @@ public class DragButtonWizardStep extends WizardFragment {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class DragButtonOnClickListener implements View.OnClickListener {
|
@Override
|
||||||
@Override
|
public void onClick(View v) {
|
||||||
public void onClick(View v) {
|
if(v.getId() == R.id.wizard_dragbutton) {
|
||||||
if (action == DragButtonAction.center || action == DragButtonAction.end) {
|
if (action == DragButtonAction.center || action == DragButtonAction.end) {
|
||||||
setNextAction();
|
setNextAction();
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
super.onClick(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class DragButtonProcessor implements SimpleDragListener.DragProcessor {
|
private class DragButtonProcessor implements SimpleDragListener.DragProcessor {
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
a:layout_width="match_parent"
|
a:layout_width="match_parent"
|
||||||
a:layout_height="wrap_content"
|
a:layout_height="60dp"
|
||||||
a:orientation="horizontal">
|
a:orientation="horizontal">
|
||||||
|
|
||||||
<include layout="@layout/cpp_app_button_equals_no_bg" />
|
<include layout="@layout/cpp_app_button_equals_no_bg" />
|
||||||
@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
a:layout_width="match_parent"
|
a:layout_width="match_parent"
|
||||||
a:layout_height="wrap_content"
|
a:layout_height="60dp"
|
||||||
a:orientation="horizontal">
|
a:orientation="horizontal">
|
||||||
|
|
||||||
<include layout="@layout/cpp_app_button_0" />
|
<include layout="@layout/cpp_app_button_0" />
|
||||||
@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
a:layout_width="match_parent"
|
a:layout_width="match_parent"
|
||||||
a:layout_height="wrap_content"
|
a:layout_height="60dp"
|
||||||
a:orientation="horizontal">
|
a:orientation="horizontal">
|
||||||
|
|
||||||
<include layout="@layout/cpp_app_button_1" />
|
<include layout="@layout/cpp_app_button_1" />
|
||||||
|
Loading…
Reference in New Issue
Block a user