【Android】按钮设置字母不全部大写,button set text to lower case; android button settext lowercase programmably

一般情况下设置button的setText会使被设置的英文字符串全都变为大写,应该在button的xml属性中添加如下属性,才能得到想要的自定义的大小写效果:

android:textAllCaps="false"

或者在程序中设置:

mButton.setTransformationMethod(null);

我在apache.lang工具包中看到capitalize的源码,改良了一下,写了下面这个仅首字母大写的函数:


    /**
     * capitalize only the first char, the other chars in the string will be converted to lower case
     * <p/>
     * <pre>
     * TextU.capitalizeOnlyFirstChar(null)  = null
     * TextU.capitalizeOnlyFirstChar("")    = ""
     * TextU.capitalizeOnlyFirstChar("cat") = "Cat"
     * TextU.capitalizeOnlyFirstChar("cAtCh ME") = "Catch me"
     * </pre>
     * <p/>
     * <p/>
     * Created by KyleCe on 2015/12/23.
     *
     * @author KyleCe
     * <a href="https://github.com/KyleCe">KyleCe@github</a>
     */
    public static String capitalizeOnlyFirstChar(String str) {
        int strLen;
        if (str == null || (strLen = str.length()) == 0) {
            return str;
        }
        return new StringBuilder(strLen)
                .append(Character.toTitleCase(str.charAt(0)))
                .append(str.substring(1).toLowerCase())
                .toString();
    }

have fun

转载署源-By-KyleCe:http://blog.csdn.net/KyleCeshen/article/details/50428143

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值