6.6.2 - Alpha5 - 主题色设置页面新布局支持历史记录功能

This commit is contained in:
SuperMonster003
2025-04-08 21:33:14 +08:00
parent 903d45149d
commit d9a0bf713d
67 changed files with 2906 additions and 1698 deletions

View File

@@ -30,6 +30,7 @@ import android.text.InputFilter;
import android.text.TextWatcher;
import android.util.Log;
import android.util.TypedValue;
import android.view.Gravity;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
@@ -49,6 +50,7 @@ import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.PopupMenu;
import androidx.core.graphics.ColorUtils;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.FragmentActivity;
@@ -56,6 +58,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import java.util.Locale;
import java.util.function.Consumer;
/**
* <p>A dialog to pick a color.</p>
@@ -120,7 +123,12 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
private static final String ARG_USE_LEGACY_MODE = "useLegacyMode";
ColorPickerDialogListener colorPickerDialogListener;
View.OnClickListener oldColorPanelOnClickListener;
View.OnClickListener newColorPanelOnClickListener;
Consumer<ColorPickerDialog> colorHistoriesHandler;
FrameLayout rootView;
ImageView customTitleOptions;
int[] presets;
@ColorInt
int color;
@@ -128,6 +136,7 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
int dialogId;
boolean showColorShades;
int colorShape;
boolean useLegacyMode;
// -- PRESETS --------------------------
ColorPaletteAdapter adapter;
@@ -137,11 +146,13 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
// -- CUSTOM ---------------------------
ColorPickerView colorPicker;
ColorPanelView oldColorPanel;
ColorPanelView newColorPanel;
EditText hexEditText;
boolean showAlphaSlider;
private int presetsButtonStringRes;
private boolean fromEditText;
private boolean fromOldColorPanel;
private int customButtonStringRes;
private final OnTouchListener onPickerTouchListener = new OnTouchListener() {
@@ -175,6 +186,7 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
showAlphaSlider = requireArguments().getBoolean(ARG_ALPHA);
showColorShades = requireArguments().getBoolean(ARG_SHOW_COLOR_SHADES);
colorShape = requireArguments().getInt(ARG_COLOR_SHAPE);
useLegacyMode = requireArguments().getBoolean(ARG_USE_LEGACY_MODE, false);
if (savedInstanceState == null) {
color = requireArguments().getInt(ARG_COLOR);
dialogType = requireArguments().getInt(ARG_TYPE);
@@ -198,9 +210,37 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity()).setView(rootView)
.setPositiveButton(selectedButtonStringRes, (dialog, which) -> onColorSelected(color));
View customTitleRoot = View.inflate(requireContext(), R.layout.cpv_dialog_custom_title, null);
builder.setCustomTitle(customTitleRoot);
customTitleOptions = customTitleRoot.findViewById(R.id.more_options);
int dialogTitleStringRes = requireArguments().getInt(ARG_DIALOG_TITLE);
if (dialogTitleStringRes != 0) {
builder.setTitle(dialogTitleStringRes);
// builder.setTitle(dialogTitleStringRes);
TextView customTitleTitle = customTitleRoot.findViewById(R.id.title);
customTitleTitle.setText(dialogTitleStringRes);
}
if (useLegacyMode) {
customTitleOptions.setVisibility(View.GONE);
} else {
customTitleOptions.setOnClickListener(v -> {
var popupMenu = new PopupMenu(requireContext(), v, Gravity.END);
popupMenu.getMenuInflater().inflate(R.menu.cpv_dialog_more_options, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(menuItem -> {
if (menuItem.getItemId() == R.id.action_reset_color_palette) {
resetColorPanel();
return true;
}
if (menuItem.getItemId() == R.id.action_show_histories) {
showHistories(this);
return true;
}
return false;
});
popupMenu.show();
});
}
presetsButtonStringRes = requireArguments().getInt(ARG_PRESETS_BUTTON_TEXT);
@@ -241,11 +281,17 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
switch (dialogType) {
case TYPE_CUSTOM:
dialogType = TYPE_PRESETS;
if (!useLegacyMode && customTitleOptions != null) {
customTitleOptions.setVisibility(View.GONE);
}
((Button) v).setText(customButtonStringRes != 0 ? customButtonStringRes : R.string.cpv_custom);
rootView.addView(createPresetsView());
break;
case TYPE_PRESETS:
dialogType = TYPE_CUSTOM;
if (!useLegacyMode && customTitleOptions != null) {
customTitleOptions.setVisibility(View.VISIBLE);
}
((Button) v).setText(presetsButtonStringRes != 0 ? presetsButtonStringRes : R.string.cpv_presets);
rootView.addView(createPickerView());
}
@@ -284,13 +330,11 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
View createPickerView() {
View contentView = View.inflate(getActivity(), R.layout.cpv_dialog_color_picker, null);
colorPicker = contentView.findViewById(R.id.cpv_color_picker_view);
ColorPanelView oldColorPanel = contentView.findViewById(R.id.cpv_color_panel_old);
oldColorPanel = contentView.findViewById(R.id.cpv_color_panel_old);
newColorPanel = contentView.findViewById(R.id.cpv_color_panel_new);
ImageView arrowRight = contentView.findViewById(R.id.cpv_arrow_right);
hexEditText = contentView.findViewById(R.id.cpv_hex);
boolean useLegacyMode = requireArguments().getBoolean(ARG_USE_LEGACY_MODE, false);
try {
final TypedValue value = new TypedValue();
TypedArray typedArray = requireActivity().obtainStyledAttributes(value.data, new int[]{android.R.attr.textColorPrimary});
@@ -304,6 +348,7 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
colorPicker.setAlphaSliderVisible(showAlphaSlider);
oldColorPanel.setColor(requireArguments().getInt(ARG_COLOR));
colorPicker.setColor(color, true);
colorPicker.lastColor = color;
newColorPanel.setColor(color);
setHex(color);
@@ -313,10 +358,22 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
if (!useLegacyMode) {
oldColorPanel.setOnClickListener(v -> {
v.setTag(oldColorPanel.getColor());
oldColorPanelOnClickListener.onClick(v);
});
oldColorPanel.setOnLongClickListener(v -> {
resetColorPanel();
return true;
});
newColorPanel.setOnClickListener(v -> {
v.setTag(newColorPanel.getColor());
newColorPanelOnClickListener.onClick(v);
});
newColorPanel.setOnLongClickListener(v -> {
int aimColor = colorPicker.lastColor;
newColorPanel.setColor(aimColor);
colorPicker.setColor(aimColor, true);
return true;
});
} else {
newColorPanel.setOnClickListener(v -> {
@@ -341,9 +398,30 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
return contentView;
}
private void resetColorPanel() {
if (oldColorPanel == null) return;
int aimColor = oldColorPanel.getColor();
fromOldColorPanel = true;
newColorPanel.setColor(aimColor);
colorPicker.setColor(aimColor, true);
}
private void showHistories(ColorPickerDialog colorPickerDialog) {
if (colorHistoriesHandler == null) return;
colorHistoriesHandler.accept(colorPickerDialog);
}
public void onHistorySelected(@ColorInt int color) {
colorPicker.setColor(color, true);
colorPicker.lastColor = color;
}
@Override
public void onColorChanged(int newColor) {
color = newColor;
if (!fromOldColorPanel) {
colorPicker.lastColor = newColor;
}
if (newColorPanel != null) {
newColorPanel.setColor(newColor);
}
@@ -356,6 +434,7 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
}
}
fromEditText = false;
fromOldColorPanel = false;
}
@Override
@@ -375,6 +454,7 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
if (color != colorPicker.getColor()) {
fromEditText = true;
colorPicker.setColor(color, true);
colorPicker.lastColor = color;
}
}
}
@@ -778,6 +858,10 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
int colorShape = ColorShape.CIRCLE;
boolean useLegacyMode = false;
View.OnClickListener oldColorPanelOnClickListener;
View.OnClickListener newColorPanelOnClickListener;
Consumer<ColorPickerDialog> colorHistoriesHandler;
/*package*/ Builder() {
}
@@ -931,6 +1015,21 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
return this;
}
public Builder setOldColorPanelOnClickListener(View.OnClickListener onClickListener) {
this.oldColorPanelOnClickListener = onClickListener;
return this;
}
public Builder setNewColorPanelOnClickListener(View.OnClickListener onClickListener) {
this.newColorPanelOnClickListener = onClickListener;
return this;
}
public Builder setColorHistoriesHandler(Consumer<ColorPickerDialog> colorHistoriesHandler) {
this.colorHistoriesHandler = colorHistoriesHandler;
return this;
}
/**
* Create the {@link ColorPickerDialog} instance.
*
@@ -954,6 +1053,9 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
args.putInt(ARG_CUSTOM_BUTTON_TEXT, customButtonText);
args.putInt(ARG_SELECTED_BUTTON_TEXT, selectedButtonText);
args.putBoolean(ARG_USE_LEGACY_MODE, useLegacyMode);
dialog.oldColorPanelOnClickListener = oldColorPanelOnClickListener;
dialog.newColorPanelOnClickListener = newColorPanelOnClickListener;
dialog.colorHistoriesHandler = colorHistoriesHandler;
dialog.setArguments(args);
return dialog;
}

View File

@@ -63,7 +63,9 @@ public class ColorPickerView extends View {
*/
private final static int BORDER_WIDTH_PX = 1;
/**
public int lastColor;
/**
* The width in px of the hue panel.
*/
private int huePanelWidthPx;

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -4,96 +4,87 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<com.jaredrummler.android.colorpicker.ColorPickerView
android:id="@id/cpv_color_picker_view"
android:padding="16dp"
style="@style/cpv_ColorPickerViewStyle"
/>
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="16dp"
>
android:orientation="vertical">
<com.jaredrummler.android.colorpicker.ColorPanelView
android:id="@id/cpv_color_panel_old"
android:layout_width="@dimen/cpv_dialog_preview_width"
android:layout_height="@dimen/cpv_dialog_preview_height"
app:cpv_colorShape="square"
/>
<com.jaredrummler.android.colorpicker.ColorPickerView
android:id="@id/cpv_color_picker_view"
android:padding="16dp"
style="@style/cpv_ColorPickerViewStyle" />
<ImageView
android:id="@+id/cpv_arrow_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:src="@drawable/cpv_ic_arrow_right_black_24dp"
tools:ignore="ContentDescription"
/>
<com.jaredrummler.android.colorpicker.ColorPanelView
android:id="@id/cpv_color_panel_new"
android:layout_width="@dimen/cpv_dialog_preview_width"
android:layout_height="@dimen/cpv_dialog_preview_height"
app:cpv_colorShape="square"
/>
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:gravity="right"
android:orientation="horizontal"
tools:ignore="RtlHardcoded"
>
<TextView
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="#"
android:typeface="monospace"
tools:ignore="HardcodedText"
/>
android:orientation="horizontal"
android:paddingHorizontal="16dp"
android:paddingBottom="16dp"
android:paddingTop="12dp">
<EditText
android:id="@+id/cpv_hex"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:digits="0123456789ABCDEFabcdef"
android:focusable="true"
android:imeOptions="actionGo"
android:inputType="textNoSuggestions"
android:maxLength="8"
android:maxLines="1"
android:typeface="monospace"
/>
<com.jaredrummler.android.colorpicker.ColorPanelView
android:id="@id/cpv_color_panel_old"
android:layout_width="@dimen/cpv_dialog_preview_width"
android:layout_height="@dimen/cpv_dialog_preview_height"
android:layout_gravity="center_vertical"
app:cpv_colorShape="square" />
</LinearLayout>
<ImageView
android:id="@+id/cpv_arrow_right"
android:layout_width="wrap_content"
android:layout_height="@dimen/cpv_dialog_preview_height"
android:layout_gravity="center_vertical"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:src="@drawable/cpv_ic_arrow_right_black_24dp"
tools:ignore="ContentDescription" />
<com.jaredrummler.android.colorpicker.ColorPanelView
android:id="@id/cpv_color_panel_new"
android:layout_width="@dimen/cpv_dialog_preview_width"
android:layout_height="@dimen/cpv_dialog_preview_height"
android:layout_gravity="center_vertical"
app:cpv_colorShape="square" />
<Space
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="1" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:gravity="right"
android:orientation="horizontal"
tools:ignore="RtlHardcoded">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="#"
android:typeface="monospace"
tools:ignore="HardcodedText" />
<EditText
android:id="@+id/cpv_hex"
android:layout_width="110dp"
android:layout_height="wrap_content"
android:digits="0123456789ABCDEFabcdef"
android:focusable="true"
android:imeOptions="actionGo"
android:inputType="textNoSuggestions"
android:maxLength="8"
android:maxLines="1"
android:typeface="monospace" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_marginTop="18dip"
android:layout_marginStart="24dip">
<TextView
android:id="@+id/title"
android:textSize="20sp"
android:textColor="?android:attr/textColorPrimary"
android:singleLine="true"
android:ellipsize="end"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textAlignment="viewStart"
tools:text="@string/cpv_custom" />
<ImageView
android:id="@+id/more_options"
android:tint="?android:attr/textColorPrimary"
android:paddingStart="5dp"
android:paddingEnd="20dp"
android:paddingVertical="5dp"
android:layout_width="47dp"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:src="@drawable/cpv_ic_more" />
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_reset_color_palette"
android:title="@string/cpv_menu_item_reset_color_palette"
app:showAsAction="never" />
<item
android:id="@+id/action_show_histories"
android:title="@string/cpv_menu_item_histories"
app:showAsAction="never" />
</menu>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,13 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">اختر لونًا</string>
<string name="cpv_presets">ألوان جاهزة</string>
<string name="cpv_custom">ألوان معدلة</string>
<string name="cpv_select">اختر</string>
<string name="cpv_transparency">الشفافية</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">اختر لونًا</string>
<string name="cpv_presets">ألوان جاهزة</string>
<string name="cpv_custom">ألوان معدلة</string>
<string name="cpv_select">اختر</string>
<string name="cpv_transparency">الشفافية</string>
<string name="cpv_menu_item_histories">التاريخ</string>
<string name="cpv_menu_item_reset_color_palette">إعادة تعيين لوحة</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Select a Color</string>
<string name="cpv_presets">Presets</string>
<string name="cpv_custom">Custom</string>
<string name="cpv_select">Select</string>
<string name="cpv_transparency">Transparency</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Select a Color</string>
<string name="cpv_presets">Presets</string>
<string name="cpv_custom">Custom</string>
<string name="cpv_select">Select</string>
<string name="cpv_transparency">Transparency</string>
<string name="cpv_menu_item_histories">Histories</string>
<string name="cpv_menu_item_reset_color_palette">Reset palette</string>
</resources>

View File

@@ -1,9 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Selecciona un color</string>
<string name="cpv_presets">Predeterminados</string>
<string name="cpv_custom">Personalizar</string>
<string name="cpv_select">Seleccionar</string>
<string name="cpv_transparency">Transparencia</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Selecciona un color</string>
<string name="cpv_presets">Predeterminados</string>
<string name="cpv_custom">Personalizar</string>
<string name="cpv_select">Seleccionar</string>
<string name="cpv_transparency">Transparencia</string>
<string name="cpv_menu_item_histories">Historiales</string>
<string name="cpv_menu_item_reset_color_palette">Restablecer paleta</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
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
@@ -11,10 +10,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Sélectionner une couleur</string>
<string name="cpv_presets">Présélections</string>
<string name="cpv_custom">Personnalisée</string>
<string name="cpv_select">Valider</string>
<string name="cpv_transparency">Transparence</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Sélectionner une couleur</string>
<string name="cpv_presets">Présélections</string>
<string name="cpv_custom">Personnalisée</string>
<string name="cpv_select">Valider</string>
<string name="cpv_transparency">Transparence</string>
<string name="cpv_menu_item_histories">Histoires</string>
<string name="cpv_menu_item_reset_color_palette">Réinitialiser palette</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">色を選択</string>
<string name="cpv_presets">プリセット</string>
<string name="cpv_custom">カスタム</string>
<string name="cpv_select">選択</string>
<string name="cpv_transparency">透明度</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">色を選択</string>
<string name="cpv_presets">プリセット</string>
<string name="cpv_custom">カスタム</string>
<string name="cpv_select">選択</string>
<string name="cpv_transparency">透明度</string>
<string name="cpv_menu_item_histories">ヒストリー</string>
<string name="cpv_menu_item_reset_color_palette">パレットリセット</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">색상 선택</string>
<string name="cpv_presets">프리셋</string>
<string name="cpv_custom">커스텀</string>
<string name="cpv_select">선택</string>
<string name="cpv_transparency">투명도</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">색상 선택</string>
<string name="cpv_presets">프리셋</string>
<string name="cpv_custom">커스텀</string>
<string name="cpv_select">선택</string>
<string name="cpv_transparency">투명도</string>
<string name="cpv_menu_item_histories">역사</string>
<string name="cpv_menu_item_reset_color_palette">팔레트 초기화</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Выберите цвет</string>
<string name="cpv_presets">Предустановки</string>
<string name="cpv_custom">Особый</string>
<string name="cpv_select">Выбрать</string>
<string name="cpv_transparency">Прозрачность</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Выберите цвет</string>
<string name="cpv_presets">Предустановки</string>
<string name="cpv_custom">Особый</string>
<string name="cpv_select">Выбрать</string>
<string name="cpv_transparency">Прозрачность</string>
<string name="cpv_menu_item_histories">Истории</string>
<string name="cpv_menu_item_reset_color_palette">Сбросить палитру</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">選擇顏色</string>
<string name="cpv_presets">預置顏色</string>
<string name="cpv_custom">自定義顏色</string>
<string name="cpv_select">確認</string>
<string name="cpv_transparency">透明度</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">選擇顏色</string>
<string name="cpv_presets">預置顏色</string>
<string name="cpv_custom">自定義顏色</string>
<string name="cpv_select">確認</string>
<string name="cpv_transparency">透明度</string>
<string name="cpv_menu_item_histories">歷史記錄</string>
<string name="cpv_menu_item_reset_color_palette">重置調色盤</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">選擇顏色</string>
<string name="cpv_presets">預置顏色</string>
<string name="cpv_custom">自定義顏色</string>
<string name="cpv_select">確認</string>
<string name="cpv_transparency">透明度</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">選擇顏色</string>
<string name="cpv_presets">預置顏色</string>
<string name="cpv_custom">自定義顏色</string>
<string name="cpv_select">確認</string>
<string name="cpv_transparency">透明度</string>
<string name="cpv_menu_item_histories">歷史記錄</string>
<string name="cpv_menu_item_reset_color_palette">重置調色盤</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">选择颜色</string>
<string name="cpv_presets">预置颜色</string>
<string name="cpv_custom">自定义颜色</string>
<string name="cpv_select">确认</string>
<string name="cpv_transparency">透明度</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">选择颜色</string>
<string name="cpv_presets">预置颜色</string>
<string name="cpv_custom">自定义颜色</string>
<string name="cpv_select">确认</string>
<string name="cpv_transparency">透明度</string>
<string name="cpv_menu_item_histories">历史记录</string>
<string name="cpv_menu_item_reset_color_palette">重置调色盘</string>
</resources>

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2013 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -14,10 +13,12 @@
limitations under the License.
-->
<resources>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Select a Color</string>
<string name="cpv_presets">Presets</string>
<string name="cpv_custom">Custom</string>
<string name="cpv_select">Select</string>
<string name="cpv_transparency">Transparency</string>
<!-- Default title for color picker dialog [CHAR LIMIT=30] -->
<string name="cpv_default_title">Select a Color</string>
<string name="cpv_presets">Presets</string>
<string name="cpv_custom">Custom</string>
<string name="cpv_select">Select</string>
<string name="cpv_transparency">Transparency</string>
<string name="cpv_menu_item_histories">Histories</string>
<string name="cpv_menu_item_reset_color_palette">Reset palette</string>
</resources>