From acd0f40077f36cfbecc67309e77c3cf21a727285 Mon Sep 17 00:00:00 2001 From: Joris Olympio Date: Sat, 16 Jan 2021 18:47:42 +0100 Subject: [PATCH] Allow some input types for Tags (e.g. all uppercase) --- .../mabbas007/tagsedittext/TagsEditText.java | 22 +++++++++++++------ .../tagsedittext/utils/ResourceUtils.java | 9 ++++---- .../mabbas007/myapplication/MainActivity.java | 9 ++++++-- app/src/main/res/layout/activity_main.xml | 6 +++++ 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/TagsEditText/src/main/java/mabbas007/tagsedittext/TagsEditText.java b/TagsEditText/src/main/java/mabbas007/tagsedittext/TagsEditText.java index 65db3c7..5aeb04b 100644 --- a/TagsEditText/src/main/java/mabbas007/tagsedittext/TagsEditText.java +++ b/TagsEditText/src/main/java/mabbas007/tagsedittext/TagsEditText.java @@ -12,12 +12,6 @@ import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.ColorInt; -import android.support.annotation.ColorRes; -import android.support.annotation.DimenRes; -import android.support.annotation.DrawableRes; -import android.support.annotation.Nullable; -import android.support.v4.content.ContextCompat; import android.text.Editable; import android.text.InputType; import android.text.Spannable; @@ -35,6 +29,13 @@ import android.widget.EditText; import android.widget.TextView; +import androidx.annotation.ColorInt; +import androidx.annotation.ColorRes; +import androidx.annotation.DimenRes; +import androidx.annotation.DrawableRes; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -155,6 +156,7 @@ protected void onSelectionChanged(int selStart, int selEnd) { @Override public void setText(CharSequence text, BufferType type) { if (mIsSetTextDisabled) return; + if (mTags == null) return; if (!TextUtils.isEmpty(text)) { String source = mIsSpacesAllowedInTags ? text.toString().trim() : text.toString().replaceAll(" ", ""); if (mTags.isEmpty()) { @@ -413,7 +415,7 @@ private void init(@Nullable AttributeSet attrs, int defStyleAttr, int defStyleRe } setMovementMethod(LinkMovementMethod.getInstance()); - setInputType(InputType.TYPE_CLASS_TEXT + setInputType(getInputType() | InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); @@ -621,6 +623,12 @@ private TextView createTextView(String text) { textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTagsTextSize); textView.setTextColor(mTagsTextColor); textView.setPadding(mTagsPaddingLeft, mTagsPaddingTop, mTagsPaddingRight, mTagsPaddingBottom); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { + textView.setAllCaps(isAllCaps()); + } + textView.setFontFeatureSettings(getFontFeatureSettings()); + } // check Android version for set background if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { diff --git a/TagsEditText/src/main/java/mabbas007/tagsedittext/utils/ResourceUtils.java b/TagsEditText/src/main/java/mabbas007/tagsedittext/utils/ResourceUtils.java index e9bc116..9be78a8 100644 --- a/TagsEditText/src/main/java/mabbas007/tagsedittext/utils/ResourceUtils.java +++ b/TagsEditText/src/main/java/mabbas007/tagsedittext/utils/ResourceUtils.java @@ -1,11 +1,10 @@ package mabbas007.tagsedittext.utils; import android.content.Context; -import android.graphics.drawable.Drawable; -import android.os.Build; -import android.support.annotation.ColorRes; -import android.support.annotation.DimenRes; -import android.support.annotation.DrawableRes; + +import androidx.annotation.ColorRes; +import androidx.annotation.DimenRes; +import androidx.annotation.DrawableRes; /** * Created by Mohammad Abbas on 5/10/2016. diff --git a/app/src/main/java/mabbas007/myapplication/MainActivity.java b/app/src/main/java/mabbas007/myapplication/MainActivity.java index 0b371c9..374847a 100644 --- a/app/src/main/java/mabbas007/myapplication/MainActivity.java +++ b/app/src/main/java/mabbas007/myapplication/MainActivity.java @@ -1,12 +1,13 @@ package mabbas007.myapplication; import android.os.Bundle; -import android.support.annotation.IdRes; -import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.ArrayAdapter; +import androidx.annotation.IdRes; +import androidx.appcompat.app.AppCompatActivity; + import java.util.Arrays; import java.util.Collection; @@ -37,6 +38,7 @@ protected void onCreate(Bundle savedInstanceState) { setButtonClickListener(R.id.btnChangeDrawableLeft); setButtonClickListener(R.id.btnChangeDrawableRight); setButtonClickListener(R.id.btnChangeClosePadding); + setButtonClickListener(R.id.btnSetAllCaps); } @Override @@ -79,6 +81,9 @@ public void onClick(View v) { mTagsEditText.setCloseDrawablePadding(R.dimen.larger_padding); break; } + case R.id.btnSetAllCaps: { + mTagsEditText.setAllCaps(true); + } } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 09c1a36..26efb17 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -72,6 +72,12 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Change Close Padding" /> + +