...好吧先上效果图~
主要代码:
public class MainActivity extends Activity {private TextView tv_test;String str = "你好世界";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_test = (TextView) findViewById(R.id.tv_test);ArrayList<Token> arrayList = HanziToPinyin.getInstance().get(str);String string = arrayList.toString();Log.e("", ""+string);String pinyin = "";if (arrayList != null && arrayList.size() > 0) {for (Token token : arrayList) {if (Token.PINYIN == token.type) {//pinyinString str = token.target;int length = str.length();if(length>=1){//首字母大写其余字母小写String first = str.substring(0, 1);String substring = str.substring(1, length);String lowerCase = substring.toLowerCase();pinyin += first+lowerCase;Log.e("pinyin", pinyin);} } else {//未知语 or 拉丁语}}}String pinYin2 = getPinYin(str);tv_test.setText(pinyin+"\n"+pinYin2);}// 汉字返回拼音,字母原样返回,都转换为小写(默认取得的拼音全大写)public static String getPinYin(String input) {ArrayList<Token> tokens = HanziToPinyin.getInstance().get(input);StringBuilder sb = new StringBuilder();if (tokens != null && tokens.size() > 0) {for (Token token : tokens) {if (Token.PINYIN == token.type) {sb.append(token.target);} else {sb.append(token.source);}}}return sb.toString().toLowerCase();//toLowerCase() 大写变小写}}
重点在拿到ArrayList<Token>的列表数据之后的循环,在里面操作即可~
好像就这么简单额.....................注释也挺直白的...嗯,上demo吧还是...
中文汉字转拼音
如果觉得《中文汉字转拼音——大写(默认) 小写 首字母大写》对你有帮助,请点赞、收藏,并留下你的观点哦!