Use glyphs for keyboard buttons
This commit is contained in:
parent
ba991942b1
commit
ed194941c1
@ -24,29 +24,30 @@ package org.solovyev.android.calculator.buttons;
|
|||||||
|
|
||||||
import org.solovyev.android.Check;
|
import org.solovyev.android.Check;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
// see values/text_glyphs.xml for glyph constants
|
// see values/text_glyphs.xml for glyph constants
|
||||||
public enum CppSpecialButton {
|
public enum CppSpecialButton {
|
||||||
|
|
||||||
history("history"),
|
history("history", '\ue005'),
|
||||||
history_undo("↶", '\ue007'),
|
history_undo("↶", '\ue007'),
|
||||||
history_redo("↷", '\ue008'),
|
history_redo("↷", '\ue008'),
|
||||||
cursor_right("▷"),
|
cursor_right("▷", '\ue003'),
|
||||||
cursor_to_end(">>"),
|
cursor_to_end(">>"),
|
||||||
cursor_left("◁"),
|
cursor_left("◁", '\ue002'),
|
||||||
cursor_to_start("<<"),
|
cursor_to_start("<<"),
|
||||||
settings("settings"),
|
settings("settings"),
|
||||||
settings_widget("settings_widget"),
|
settings_widget("settings_widget"),
|
||||||
like("like"),
|
like("like", '\ue006'),
|
||||||
memory("memory"),
|
memory("memory"),
|
||||||
memory_plus("M+"),
|
memory_plus("M+"),
|
||||||
memory_minus("M-"),
|
memory_minus("M-"),
|
||||||
memory_clear("MC"),
|
memory_clear("MC"),
|
||||||
erase("erase"),
|
erase("erase", '\ue004'),
|
||||||
paste("paste", '\uE000'),
|
paste("paste", '\uE000'),
|
||||||
copy("copy", '\uE001'),
|
copy("copy", '\uE001'),
|
||||||
brackets_wrap("(…)"),
|
brackets_wrap("(…)"),
|
||||||
|
@ -12,21 +12,38 @@ import android.util.TypedValue;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import dagger.Lazy;
|
|
||||||
import org.solovyev.android.Check;
|
import org.solovyev.android.Check;
|
||||||
import org.solovyev.android.calculator.*;
|
import org.solovyev.android.calculator.ActivityLauncher;
|
||||||
|
import org.solovyev.android.calculator.App;
|
||||||
|
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.buttons.CppButton;
|
import org.solovyev.android.calculator.buttons.CppButton;
|
||||||
import org.solovyev.android.calculator.memory.Memory;
|
import org.solovyev.android.calculator.memory.Memory;
|
||||||
import org.solovyev.android.views.Adjuster;
|
import org.solovyev.android.views.Adjuster;
|
||||||
import org.solovyev.android.views.dragbutton.*;
|
import org.solovyev.android.views.dragbutton.DirectionDragButton;
|
||||||
|
import org.solovyev.android.views.dragbutton.DirectionDragImageButton;
|
||||||
|
import org.solovyev.android.views.dragbutton.DirectionDragListener;
|
||||||
|
import org.solovyev.android.views.dragbutton.DirectionDragView;
|
||||||
|
import org.solovyev.android.views.dragbutton.Drag;
|
||||||
|
import org.solovyev.android.views.dragbutton.DragDirection;
|
||||||
|
import org.solovyev.android.views.dragbutton.DragEvent;
|
||||||
|
import org.solovyev.android.views.dragbutton.DragView;
|
||||||
|
|
||||||
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 javax.annotation.Nonnull;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import dagger.Lazy;
|
||||||
|
|
||||||
import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
|
import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
|
||||||
import static android.view.HapticFeedbackConstants.*;
|
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.cast;
|
||||||
import static org.solovyev.android.calculator.Preferences.Gui.Mode.simple;
|
import static org.solovyev.android.calculator.Preferences.Gui.Mode.simple;
|
||||||
|
|
||||||
@ -111,18 +128,6 @@ public abstract class BaseKeyboardUi implements SharedPreferences.OnSharedPrefer
|
|||||||
textSize = calculateTextSize(activity);
|
textSize = calculateTextSize(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final void prepareButton(@Nullable ImageView button) {
|
|
||||||
prepareButton(button, IMAGE_SCALE);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected final void prepareButton(@Nullable ImageView button, float scale) {
|
|
||||||
if (button == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
prepareButton((View) button);
|
|
||||||
Adjuster.adjustImage(button, scale);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected final void prepareButton(@Nullable View button) {
|
protected final void prepareButton(@Nullable View button) {
|
||||||
if (button == null) {
|
if (button == null) {
|
||||||
return;
|
return;
|
||||||
@ -132,18 +137,6 @@ public abstract class BaseKeyboardUi implements SharedPreferences.OnSharedPrefer
|
|||||||
button.setOnClickListener(this);
|
button.setOnClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected final void prepareButton(@Nullable DirectionDragImageButton button) {
|
|
||||||
if (button == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
dragButtons.add(button);
|
|
||||||
button.setVibrateOnDrag(keyboard.isVibrateOnKeypress());
|
|
||||||
prepareButton((ImageView) button);
|
|
||||||
button.setOnDragListener(listener);
|
|
||||||
button.setTextSize(textSize);
|
|
||||||
Adjuster.adjustText(button, AdjusterHelper.instance, textScale, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected final void prepareButton(@Nullable DirectionDragButton button) {
|
protected final void prepareButton(@Nullable DirectionDragButton button) {
|
||||||
if (button == null) {
|
if (button == null) {
|
||||||
return;
|
return;
|
||||||
|
@ -5,22 +5,24 @@ import android.app.Application;
|
|||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageButton;
|
|
||||||
import butterknife.Bind;
|
|
||||||
import butterknife.ButterKnife;
|
|
||||||
import jscl.NumeralBase;
|
|
||||||
import org.solovyev.android.calculator.Display;
|
import org.solovyev.android.calculator.Display;
|
||||||
import org.solovyev.android.calculator.Engine;
|
import org.solovyev.android.calculator.Engine;
|
||||||
import org.solovyev.android.calculator.R;
|
import org.solovyev.android.calculator.R;
|
||||||
import org.solovyev.android.views.dragbutton.DirectionDragButton;
|
import org.solovyev.android.views.dragbutton.DirectionDragButton;
|
||||||
import org.solovyev.android.views.dragbutton.DirectionDragImageButton;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import butterknife.Bind;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
import jscl.NumeralBase;
|
||||||
|
|
||||||
import static org.solovyev.android.calculator.Engine.Preferences.multiplicationSign;
|
import static org.solovyev.android.calculator.Engine.Preferences.multiplicationSign;
|
||||||
import static org.solovyev.android.calculator.Engine.Preferences.numeralBase;
|
import static org.solovyev.android.calculator.Engine.Preferences.numeralBase;
|
||||||
import static org.solovyev.android.views.dragbutton.DragDirection.*;
|
import static org.solovyev.android.views.dragbutton.DragDirection.down;
|
||||||
|
import static org.solovyev.android.views.dragbutton.DragDirection.left;
|
||||||
|
import static org.solovyev.android.views.dragbutton.DragDirection.up;
|
||||||
|
|
||||||
public class KeyboardUi extends BaseKeyboardUi {
|
public class KeyboardUi extends BaseKeyboardUi {
|
||||||
|
|
||||||
@ -58,7 +60,7 @@ public class KeyboardUi extends BaseKeyboardUi {
|
|||||||
@Bind(R.id.cpp_button_functions)
|
@Bind(R.id.cpp_button_functions)
|
||||||
DirectionDragButton functionsButton;
|
DirectionDragButton functionsButton;
|
||||||
@Bind(R.id.cpp_button_history)
|
@Bind(R.id.cpp_button_history)
|
||||||
DirectionDragImageButton historyButton;
|
DirectionDragButton historyButton;
|
||||||
@Bind(R.id.cpp_button_multiplication)
|
@Bind(R.id.cpp_button_multiplication)
|
||||||
DirectionDragButton multiplicationButton;
|
DirectionDragButton multiplicationButton;
|
||||||
@Bind(R.id.cpp_button_plus)
|
@Bind(R.id.cpp_button_plus)
|
||||||
@ -72,14 +74,8 @@ public class KeyboardUi extends BaseKeyboardUi {
|
|||||||
@Bind(R.id.cpp_button_round_brackets)
|
@Bind(R.id.cpp_button_round_brackets)
|
||||||
DirectionDragButton bracketsButton;
|
DirectionDragButton bracketsButton;
|
||||||
@Nullable
|
@Nullable
|
||||||
@Bind(R.id.cpp_button_copy)
|
|
||||||
DirectionDragImageButton copyButton;
|
|
||||||
@Nullable
|
|
||||||
@Bind(R.id.cpp_button_paste)
|
|
||||||
DirectionDragImageButton pasteButton;
|
|
||||||
@Nullable
|
|
||||||
@Bind(R.id.cpp_button_like)
|
@Bind(R.id.cpp_button_like)
|
||||||
ImageButton likeButton;
|
DirectionDragButton likeButton;
|
||||||
@Nullable
|
@Nullable
|
||||||
@Bind(R.id.cpp_button_percent)
|
@Bind(R.id.cpp_button_percent)
|
||||||
DirectionDragButton percentButton;
|
DirectionDragButton percentButton;
|
||||||
@ -132,12 +128,6 @@ public class KeyboardUi extends BaseKeyboardUi {
|
|||||||
prepareButton(button8);
|
prepareButton(button8);
|
||||||
prepareButton(button9);
|
prepareButton(button9);
|
||||||
|
|
||||||
if (copyButton != null) {
|
|
||||||
prepareButton(copyButton);
|
|
||||||
}
|
|
||||||
if (pasteButton != null) {
|
|
||||||
prepareButton(pasteButton);
|
|
||||||
}
|
|
||||||
prepareButton(likeButton);
|
prepareButton(likeButton);
|
||||||
prepareButton(memoryButton);
|
prepareButton(memoryButton);
|
||||||
|
|
||||||
|
@ -6,17 +6,17 @@ import android.content.SharedPreferences;
|
|||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageButton;
|
|
||||||
import butterknife.Bind;
|
|
||||||
import butterknife.ButterKnife;
|
|
||||||
import org.solovyev.android.calculator.R;
|
import org.solovyev.android.calculator.R;
|
||||||
import org.solovyev.android.calculator.view.EditorLongClickEraser;
|
import org.solovyev.android.calculator.view.EditorLongClickEraser;
|
||||||
import org.solovyev.android.views.dragbutton.DirectionDragButton;
|
import org.solovyev.android.views.dragbutton.DirectionDragButton;
|
||||||
import org.solovyev.android.views.dragbutton.DirectionDragImageButton;
|
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import butterknife.Bind;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
|
||||||
import static org.solovyev.android.calculator.Preferences.Gui.vibrateOnKeypress;
|
import static org.solovyev.android.calculator.Preferences.Gui.vibrateOnKeypress;
|
||||||
import static org.solovyev.android.views.dragbutton.DragDirection.down;
|
import static org.solovyev.android.views.dragbutton.DragDirection.down;
|
||||||
|
|
||||||
@ -24,16 +24,16 @@ public class PartialKeyboardUi extends BaseKeyboardUi {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Bind(R.id.cpp_button_right)
|
@Bind(R.id.cpp_button_right)
|
||||||
DirectionDragImageButton rightButton;
|
DirectionDragButton rightButton;
|
||||||
@Nullable
|
@Nullable
|
||||||
@Bind(R.id.cpp_button_left)
|
@Bind(R.id.cpp_button_left)
|
||||||
DirectionDragImageButton leftButton;
|
DirectionDragButton leftButton;
|
||||||
@Nullable
|
@Nullable
|
||||||
@Bind(R.id.cpp_button_clear)
|
@Bind(R.id.cpp_button_clear)
|
||||||
DirectionDragButton clearButton;
|
DirectionDragButton clearButton;
|
||||||
@Nullable
|
@Nullable
|
||||||
@Bind(R.id.cpp_button_erase)
|
@Bind(R.id.cpp_button_erase)
|
||||||
ImageButton eraseButton;
|
DirectionDragButton eraseButton;
|
||||||
@Nullable
|
@Nullable
|
||||||
@Bind(R.id.cpp_button_equals)
|
@Bind(R.id.cpp_button_equals)
|
||||||
DirectionDragButton equalsButton;
|
DirectionDragButton equalsButton;
|
||||||
@ -54,8 +54,7 @@ public class PartialKeyboardUi extends BaseKeyboardUi {
|
|||||||
prepareButton(equalsButton);
|
prepareButton(equalsButton);
|
||||||
prepareButton(clearButton);
|
prepareButton(clearButton);
|
||||||
if (eraseButton != null) {
|
if (eraseButton != null) {
|
||||||
// backspace button is too big, scale it more
|
prepareButton(eraseButton);
|
||||||
prepareButton(eraseButton, IMAGE_SCALE_ERASE);
|
|
||||||
longClickEraser = EditorLongClickEraser.attachTo(eraseButton, keyboard.isVibrateOnKeypress(), editor, calculator);
|
longClickEraser = EditorLongClickEraser.attachTo(eraseButton, keyboard.isVibrateOnKeypress(), editor, calculator);
|
||||||
}
|
}
|
||||||
if (isSimpleMode()) {
|
if (isSimpleMode()) {
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
~ Copyright 2013 serso aka se.solovyev
|
|
||||||
~
|
|
||||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
~ you may not use this file except in compliance with the License.
|
|
||||||
~ You may obtain a copy of the License at
|
|
||||||
~
|
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
~
|
|
||||||
~ Unless required by applicable law or agreed to in writing, software
|
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
~ See the License for the specific language governing permissions and
|
|
||||||
~ limitations under the License.
|
|
||||||
~
|
|
||||||
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
~ Contact details
|
|
||||||
~
|
|
||||||
~ Email: se.solovyev@gmail.com
|
|
||||||
~ Site: http://se.solovyev.org
|
|
||||||
-->
|
|
||||||
|
|
||||||
<org.solovyev.android.views.dragbutton.DirectionDragImageButton
|
|
||||||
android:id="@id/cpp_button_copy"
|
|
||||||
style="?attr/cpp_button_style_control"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:src="@drawable/ic_content_copy_white_48dp" />
|
|
@ -22,8 +22,8 @@
|
|||||||
~ Site: http://se.solovyev.org
|
~ Site: http://se.solovyev.org
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<ImageButton
|
<org.solovyev.android.views.dragbutton.DirectionDragButton
|
||||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
a:id="@id/cpp_button_erase"
|
android:id="@id/cpp_button_erase"
|
||||||
style="?attr/cpp_button_style_operation_highlighted"
|
style="?attr/cpp_button_style_operation_highlighted"
|
||||||
a:src="@drawable/ic_backspace_white_48dp" />
|
android:text="@string/cpp_glyph_backspace"/>
|
@ -21,12 +21,12 @@
|
|||||||
~ Email: se.solovyev@gmail.com
|
~ Email: se.solovyev@gmail.com
|
||||||
~ Site: http://se.solovyev.org
|
~ Site: http://se.solovyev.org
|
||||||
-->
|
-->
|
||||||
<org.solovyev.android.views.dragbutton.DirectionDragImageButton
|
<org.solovyev.android.views.dragbutton.DirectionDragButton
|
||||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
a:id="@id/cpp_button_history"
|
a:id="@id/cpp_button_history"
|
||||||
style="?attr/cpp_button_style_control"
|
style="?attr/cpp_button_style_control"
|
||||||
a:src="@drawable/ic_history_white_48dp"
|
a:text="@string/cpp_glyph_history"
|
||||||
app:directionTextScale="0.5"
|
app:directionTextScale="0.5"
|
||||||
app:directionTextDown="@string/cpp_glyph_redo"
|
app:directionTextDown="@string/cpp_glyph_redo"
|
||||||
app:directionTextUp="@string/cpp_glyph_undo" />
|
app:directionTextUp="@string/cpp_glyph_undo" />
|
@ -22,12 +22,12 @@
|
|||||||
~ Site: http://se.solovyev.org
|
~ Site: http://se.solovyev.org
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<org.solovyev.android.views.dragbutton.DirectionDragImageButton a:id="@id/cpp_button_left"
|
<org.solovyev.android.views.dragbutton.DirectionDragButton a:id="@id/cpp_button_left"
|
||||||
style="?attr/cpp_button_style_control"
|
style="?attr/cpp_button_style_control"
|
||||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:c="http://schemas.android.com/apk/res-auto"
|
xmlns:c="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
a:src="@drawable/ic_keyboard_arrow_left_white_48dp"
|
a:text="@string/cpp_glyph_left"
|
||||||
c:directionTextUp="<<"
|
c:directionTextUp="<<"
|
||||||
c:directionTextDown="@string/cpp_glyph_copy"
|
c:directionTextDown="@string/cpp_glyph_copy"
|
||||||
tools:ignore="HardcodedText" />
|
tools:ignore="HardcodedText" />
|
@ -22,8 +22,8 @@
|
|||||||
~ Site: http://se.solovyev.org
|
~ Site: http://se.solovyev.org
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<org.solovyev.android.views.dragbutton.DirectionDragImageButton
|
<org.solovyev.android.views.dragbutton.DirectionDragButton
|
||||||
android:id="@id/cpp_button_like"
|
android:id="@id/cpp_button_like"
|
||||||
style="?attr/cpp_button_style_control"
|
style="?attr/cpp_button_style_control"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:src="@drawable/ic_favorite_border_white_48dp" />
|
android:text="@string/cpp_glyph_heart"/>
|
@ -1,29 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
~ Copyright 2013 serso aka se.solovyev
|
|
||||||
~
|
|
||||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
~ you may not use this file except in compliance with the License.
|
|
||||||
~ You may obtain a copy of the License at
|
|
||||||
~
|
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
~
|
|
||||||
~ Unless required by applicable law or agreed to in writing, software
|
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
~ See the License for the specific language governing permissions and
|
|
||||||
~ limitations under the License.
|
|
||||||
~
|
|
||||||
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
~ Contact details
|
|
||||||
~
|
|
||||||
~ Email: se.solovyev@gmail.com
|
|
||||||
~ Site: http://se.solovyev.org
|
|
||||||
-->
|
|
||||||
|
|
||||||
<org.solovyev.android.views.dragbutton.DirectionDragImageButton
|
|
||||||
android:id="@id/cpp_button_paste"
|
|
||||||
style="?attr/cpp_button_style_control"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:src="@drawable/ic_content_paste_white_48dp" />
|
|
@ -22,12 +22,12 @@
|
|||||||
~ Site: http://se.solovyev.org
|
~ Site: http://se.solovyev.org
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<org.solovyev.android.views.dragbutton.DirectionDragImageButton a:id="@id/cpp_button_right"
|
<org.solovyev.android.views.dragbutton.DirectionDragButton android:id="@id/cpp_button_right"
|
||||||
style="?attr/cpp_button_style_control"
|
style="?attr/cpp_button_style_control"
|
||||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:c="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
a:src="@drawable/ic_keyboard_arrow_right_white_48dp"
|
android:text="@string/cpp_glyph_right"
|
||||||
c:directionTextUp=">>"
|
app:directionTextUp=">>"
|
||||||
c:directionTextDown="@string/cpp_glyph_paste"
|
app:directionTextDown="@string/cpp_glyph_paste"
|
||||||
tools:ignore="HardcodedText" />
|
tools:ignore="HardcodedText" />
|
Loading…
Reference in New Issue
Block a user