diff --git a/res/drawable/ic_action_set.xml b/res/drawable/ic_action_set.xml deleted file mode 100644 index 533bd31..0000000 --- a/res/drawable/ic_action_set.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - diff --git a/res/layout-land/dui_dialog_color_picker.xml b/res/layout-land/dui_dialog_color_picker.xml index 10d95f4..e5cae04 100644 --- a/res/layout-land/dui_dialog_color_picker.xml +++ b/res/layout-land/dui_dialog_color_picker.xml @@ -57,16 +57,11 @@ android:id="@+id/hex" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:inputType="text" + android:maxLines="1" + android:maxLength="7" android:hint="@string/hex_hint" /> - - - { - String text = mHex.getText().toString(); - try { - int newColor = ColorPickerPreference.convertToColorInt(text); - mColorPicker.setColor(newColor, true); - } catch (Exception ignored) { - } - }); + mHex.setText(ColorPickerPreference.convertToRGB(color)); + mHex.setOnKeyListener(this); } setView(layout); @@ -105,7 +105,7 @@ public class ColorPickerDialog extends AlertDialog implements ColorPickerView.On mNewColor.setColor(color); try { if (mHex != null) { - mHex.setText(ColorPickerPreference.convertToARGB(color)); + mHex.setText(ColorPickerPreference.convertToRGB(color)); } } catch (Exception ignored) { } @@ -128,6 +128,16 @@ public class ColorPickerDialog extends AlertDialog implements ColorPickerView.On return mColorPicker.getColor(); } + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + if ((event.getAction() == KeyEvent.ACTION_DOWN) && + (keyCode == KeyEvent.KEYCODE_ENTER)) { + setColorFromHex(); + return true; + } + return false; + } + @Override public void onClick(View v) { if (v.getId() == R.id.new_color_panel) { diff --git a/src/net/margaritov/preference/colorpicker/ColorPickerPreference.java b/src/net/margaritov/preference/colorpicker/ColorPickerPreference.java index c000e1f..685bb1d 100644 --- a/src/net/margaritov/preference/colorpicker/ColorPickerPreference.java +++ b/src/net/margaritov/preference/colorpicker/ColorPickerPreference.java @@ -302,6 +302,26 @@ public class ColorPickerPreference extends Preference implements return "#" + alpha + red + green + blue; } + public static String convertToRGB(int color) { + String red = Integer.toHexString(Color.red(color)); + String green = Integer.toHexString(Color.green(color)); + String blue = Integer.toHexString(Color.blue(color)); + + if (red.length() == 1) { + red = "0" + red; + } + + if (green.length() == 1) { + green = "0" + green; + } + + if (blue.length() == 1) { + blue = "0" + blue; + } + + return "#" + red + green + blue; + } + /** * For custom purposes. Not used by ColorPickerPreferrence *