android中怎么自定义带拼音音调textview-mile米乐体育

android中怎么自定义带拼音音调textview,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1.拼音textview,简单的为把拼音数组和汉字数组结合在一起多行显示

importandroid.annotation.suppresslint; importandroid.content.context; importandroid.graphics.canvas; importandroid.graphics.color; importandroid.graphics.paint; importandroid.text.textpaint; importandroid.util.attributeset; importandroid.widget.textview; importcom.cgtn.chineselearning.utils.chinesecharacter2spell; importcom.cgtn.common.utils.convertutils;  @suppresslint("appcompatcustomview") publicclassspelltextviewextendstextview{ privatestring[]pinyin; privatestring[]chinese;  privatetextpainttextpaintspell=newtextpaint(paint.anti_alias_flag); privatetextpainttextpaintchinese=newtextpaint(paint.anti_alias_flag);  privateintfontsizespell=convertutils.dp2px(12); privateintfontsizechinese=convertutils.dp2px(12);  privateintcolorspell=color.parsecolor("#1b97d6"); privateintcolorchinese=color.parsecolor("#000000"); publicspelltextview(contextcontext){ super(context); }  publicspelltextview(contextcontext,attributesetattrs){ super(context,attrs); }  publicspelltextview(contextcontext,attributesetattrs,intdefstyleattr){ super(context,attrs,defstyleattr); inittextpaint(); }  publicvoidinittextpaint(){ floatdenity=getresources().getdisplaymetrics().density; textpaintspell.setstrokewidth(denity); textpaintchinese.setstrokewidth(denity); textpaintspell.settextalign(paint.align.left); textpaintchinese.settextalign(paint.align.left); //设置字体大小 textpaintspell.settextsize(fontsizespell); textpaintchinese.settextsize(fontsizechinese); textpaintspell.setcolor(colorspell); textpaintchinese.setcolor(colorchinese); }  @override protectedvoidondraw(canvascanvas){ floatwidthmesure=0f; intcomlum=1; floatpinyinwidth; if(pinyin!=null&&pinyin.length>0){ for(intindex=0;indexgetwidth()){ comlum  ; widthmesure=0; } canvas.drawtext(pinyin[index],widthmesure,(comlum*2-1)*(textpaintchinese.getfontspacing()),textpaintspell); canvas.drawtext(chinese[index], widthmesure (textpaintspell.measuretext(pinyin[index])-textpaintchinese.measuretext(chinese[index]))/2, (comlum*2)*(textpaintchinese.getfontspacing()),textpaintchinese); if(index 1

2.汉字转拼音使用 implementation ‘com.belerweb:pinyin4j:2.5.0'

publicstaticstring[]getpinyinstring(stringcharacter){ if(character!=null&&character.length()>0){ string[]pinyin=newstring[character.length()]; hanyupinyinoutputformatformat=newhanyupinyinoutputformat(); format.setcasetype(hanyupinyincasetype.lowercase); format.settonetype(hanyupinyintonetype.with_tone_mark); format.setvchartype(hanyupinyinvchartype.with_u_unicode); for(intindex=0;index

关于android中怎么自定义带拼音音调textview问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注恰卡编程网行业资讯频道了解更多相关知识。

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图