汉字名字转换为拼音
2014-05-19 14:09
267 查看
注:一个简单的工具类的使用,目前只使用于三个字以下的名字
一、UI布局
二、MainActivity源代码
三、HanZiToPinYin源代码
四、效果展示
源代码下载 》》
一、UI布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:gravity="center_vertical" android:hint="请输入三个字以内的汉字" > <requestFocus /> </EditText> <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="提交" /> <TextView android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dp" android:textSize="24sp" /> </LinearLayout>
二、MainActivity源代码
package com.example.hanzitopinyin; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends Activity { private EditText inputEdit; private TextView text1; private Button button1; private String hanZiName; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); inputEdit = (EditText) findViewById(R.id.editText1); text1 = (TextView) findViewById(R.id.text1); button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { hanZiName = inputEdit.getText().toString(); if (hanZiName != null) { char[] nameArr = hanZiName.toCharArray(); if (nameArr.length < 2) { String pinyinString = HanZiToPinYin .toPinYin(nameArr[0]); text1.setText("拼音:" + pinyinString + "\n" + "汉字:" + hanZiName); } else { String fName = HanZiToPinYin.toPinYin(nameArr[0]); fName = fName.replaceFirst(fName.substring(0, 1), fName .substring(0, 1).toUpperCase()); if (nameArr.length < 3) { String lName1 = HanZiToPinYin.toPinYin(nameArr[1]); String lName = lName1; lName = lName.replaceFirst(lName.substring(0, 1), lName.substring(0, 1).toUpperCase()); text1.setText("拼音:" + lName + " " + fName + "\n" + "汉字:" + hanZiName); } else if (nameArr.length >= 3) { String lName1 = HanZiToPinYin.toPinYin(nameArr[1]); String lName2 = HanZiToPinYin.toPinYin(nameArr[2]); String lName = lName1 + lName2; lName = lName.replaceFirst(lName.substring(0, 1), lName.substring(0, 1).toUpperCase()); text1.setText("拼音:" + lName + " " + fName + "\n" + "汉字:" + hanZiName); } } } } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
三、HanZiToPinYin源代码
package com.example.hanzitopinyin; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; public class HanZiToPinYin { /** * 返回一个字的拼音 * * @param hanzi * @return */ public static String toPinYin(char hanzi) { HanyuPinyinOutputFormat hanyuPinyin = new HanyuPinyinOutputFormat(); hanyuPinyin.setCaseType(HanyuPinyinCaseType.LOWERCASE); hanyuPinyin.setToneType(HanyuPinyinToneType.WITHOUT_TONE); hanyuPinyin.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE); String[] pinyinArray = null; try { // 是否在汉字范围内 if (hanzi >= 0x4e00 && hanzi <= 0x9fa5) { pinyinArray = PinyinHelper.toHanyuPinyinStringArray(hanzi, hanyuPinyin); } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } // 将汉字返回 return pinyinArray[0]; } }
四、效果展示
源代码下载 》》
相关文章推荐
- 使用PinYin4j.jar将汉字转换为拼音
- Java 实现汉字转换为拼音的实例
- 汉字转换成拼音字头
- java汉字转换拼音
- 汉字转换拼音
- python中将汉字转换为拼音的库xpinyin
- C#汉字转换拼音技术详解(高性能)
- 汉字转换成拼音
- 将汉字转换为拼音
- php将汉字转换为拼音和得到词语首字母(二)
- PHP汉字转换拼音的函数代码
- Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换
- (旧文重贴)花了一个小时时间,给项目组作了一个汉字到拼音的转换
- 汉字转换为拼音字头的工具类与原理
- Android中汉字转换成拼音报错的处理解决.....
- 汉字转换成拼音
- Javascript输入汉字自动转换为首字母的拼音码
- 程序实现汉字转换为拼音
- 利用pinyin4j将汉字转换为拼音完整示例