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/CapitalizingButton.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/CapitalizingButton.java')
-rw-r--r-- | com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingButton.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingButton.java b/com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingButton.java new file mode 100644 index 000000000..fa3698f3b --- /dev/null +++ b/com_actionbarsherlock/src/com/actionbarsherlock/internal/widget/CapitalizingButton.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.Button; + +public class CapitalizingButton extends Button { + 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_Button = new int[] { + android.R.attr.textAllCaps + }; + private static final int R_styleable_Button_textAllCaps = 0; + + private boolean mAllCaps; + + public CapitalizingButton(Context context, AttributeSet attrs) { + super(context, attrs); + + TypedArray a = context.obtainStyledAttributes(attrs, R_styleable_Button); + mAllCaps = a.getBoolean(R_styleable_Button_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); + } + } +} |