diff --git a/Android~/plugin/src/main/java/com/mopsicus/umi/MobileInput.java b/Android~/plugin/src/main/java/com/mopsicus/umi/MobileInput.java index 29af154..2cf4ec6 100644 --- a/Android~/plugin/src/main/java/com/mopsicus/umi/MobileInput.java +++ b/Android~/plugin/src/main/java/com/mopsicus/umi/MobileInput.java @@ -278,6 +278,10 @@ private void Create(int id, JSONObject data) { int caretColor_g = (int) (255.0f * data.getDouble("caret_color_g")); int caretColor_b = (int) (255.0f * data.getDouble("caret_color_b")); int caretColor_a = (int) (255.0f * data.getDouble("caret_color_a")); + int highlightColor_r = (int) (255.0f * data.getDouble("highlight_color_r")); + int highlightColor_g = (int) (255.0f * data.getDouble("highlight_color_g")); + int highlightColor_b = (int) (255.0f * data.getDouble("highlight_color_b")); + int highlightColor_a = (int) (255.0f * data.getDouble("highlight_color_a")); String contentType = data.getString("content_type"); String inputType = data.optString("input_type"); String keyboardType = data.optString("keyboard_type"); @@ -402,6 +406,7 @@ private void Create(int id, JSONObject data) { edit.setTextColor(Color.argb(textColor_a, textColor_r, textColor_g, textColor_b)); edit.setBackgroundColor(Color.argb(backColor_a, backColor_r, backColor_g, backColor_b)); edit.setHintTextColor(Color.argb(placeHolderColor_a, placeHolderColor_r, placeHolderColor_g, placeHolderColor_b)); + edit.setHighlightColor(Color.argb(highlightColor_a, highlightColor_r, highlightColor_g, highlightColor_b)); if (!customFont.equals("default")) { try { Typeface face = Typeface.createFromAsset(Plugin.activity.getAssets(), String.format("%s.ttf", customFont)); diff --git a/CHANGELOG.md b/CHANGELOG.md index f66d2d3..9644f33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. +## [2.0.3] - 2024-08-28 +- ### Added +- Custom text selection color (Android) + ## [2.0.2] - 2024-08-27 - ### Added - Custom caret/cursor/handles color diff --git a/Documentation~/index.md b/Documentation~/index.md index 2c9ed6f..9e8e9c7 100644 --- a/Documentation~/index.md +++ b/Documentation~/index.md @@ -127,6 +127,7 @@ Many options from `TMP Input Field` will be applied to the native field. You can - placeholder text - placeholder text color - cursor/caret color +- text selection color (Android, for iOS uses cursor/caret color) - character limit - font size - text align diff --git a/Plugins/Android/Mobileinput.aar b/Plugins/Android/Mobileinput.aar index c7ca327..f2d7b82 100644 Binary files a/Plugins/Android/Mobileinput.aar and b/Plugins/Android/Mobileinput.aar differ diff --git a/README.md b/README.md index f85c936..1f35a4f 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,7 @@ In the inspector, you can edit several options that will be applied to the nativ - placeholder text - placeholder text color - cursor/caret color +- text selection color (Android) - character limit - font size - text align diff --git a/README.ru.md b/README.ru.md index 0415918..8cd0d40 100644 --- a/README.ru.md +++ b/README.ru.md @@ -84,6 +84,7 @@ public class Bootstrap : MonoBehaviour { - цвет текста - цвет текста подсказки - цвет курсора/каретки +- цвет выделения текста (Android) - текст подсказки - лимит символов - размер шрифта diff --git a/Runtime/MobileInputField.cs b/Runtime/MobileInputField.cs index f075f54..2e9e402 100644 --- a/Runtime/MobileInputField.cs +++ b/Runtime/MobileInputField.cs @@ -39,6 +39,7 @@ struct MobileInputConfig { public Color BackgroundColor; public bool ChangeCaret; public Color CaretColor; + public Color HighlightColor; public string ContentType; public string InputType; public string KeyboardType; @@ -425,6 +426,7 @@ void PrepareNativeEdit() { _config.Placeholder = placeHolder.text; _config.PlaceholderColor = placeHolder.color; _config.CaretColor = _inputObject.caretColor; + _config.HighlightColor = _inputObject.selectionColor; _config.ChangeCaret = _inputObject.customCaretColor; _config.CharacterLimit = _inputObject.characterLimit; var rect = GetScreenRectFromRectTransform(_inputObjectText.rectTransform); @@ -582,7 +584,11 @@ void CreateNativeEdit() { data["caret_color_r"] = InvariantCultureString(_config.CaretColor.r); data["caret_color_g"] = InvariantCultureString(_config.CaretColor.g); data["caret_color_b"] = InvariantCultureString(_config.CaretColor.b); - data["caret_color_a"] = InvariantCultureString(_config.CaretColor.a); + data["caret_color_a"] = InvariantCultureString(_config.CaretColor.a); + data["highlight_color_r"] = InvariantCultureString(_config.HighlightColor.r); + data["highlight_color_g"] = InvariantCultureString(_config.HighlightColor.g); + data["highlight_color_b"] = InvariantCultureString(_config.HighlightColor.b); + data["highlight_color_a"] = InvariantCultureString(_config.HighlightColor.a); data["caret_color"] = _config.ChangeCaret; data["multiline"] = _config.Multiline; data["input_type"] = _config.InputType;