diff options
author | Dominik <dominik@dominikschuermann.de> | 2012-03-11 17:33:40 +0100 |
---|---|---|
committer | Dominik <dominik@dominikschuermann.de> | 2012-03-11 17:33:40 +0100 |
commit | 9b32cf87e2aaa01926cddbb1700b41eed4576dfb (patch) | |
tree | b165dbde9c14ee77a029e7d4f1babae00769e216 /com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java | |
parent | e9c0d7a71157fdff3c4951d91d7a5bc6d1956ef0 (diff) | |
download | open-keychain-9b32cf87e2aaa01926cddbb1700b41eed4576dfb.tar.gz open-keychain-9b32cf87e2aaa01926cddbb1700b41eed4576dfb.tar.bz2 open-keychain-9b32cf87e2aaa01926cddbb1700b41eed4576dfb.zip |
Started using ActionBarSherlock
Diffstat (limited to 'com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java')
-rw-r--r-- | com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java b/com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java new file mode 100644 index 000000000..1067b4191 --- /dev/null +++ b/com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingTextView.java @@ -0,0 +1,40 @@ +package com.actionbarsherlock.internal.widget; + +import java.util.Locale; +import android.content.Context; +import android.content.res.TypedArray; +import android.os.Build; +import android.util.AttributeSet; +import android.widget.TextView; + +public class CapitalizingTextView extends TextView { + private static final boolean SANS_ICE_CREAM = Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH; + private static final boolean IS_GINGERBREAD = Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD; + + private static final int[] R_styleable_TextView = new int[] { + android.R.attr.textAllCaps + }; + private static final int R_styleable_TextView_textAllCaps = 0; + + private boolean mAllCaps; + + public CapitalizingTextView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + + TypedArray a = context.obtainStyledAttributes(attrs, R_styleable_TextView, defStyle, 0); + mAllCaps = a.getBoolean(R_styleable_TextView_textAllCaps, true); + a.recycle(); + } + + public void setTextCompat(CharSequence text) { + if (SANS_ICE_CREAM && mAllCaps && text != null) { + if (IS_GINGERBREAD) { + setText(text.toString().toUpperCase(Locale.ROOT)); + } else { + setText(text.toString().toUpperCase()); + } + } else { + setText(text); + } + } +} |