拼音汉字上下结构sundarPinyinText

由于项目需要,做上拼音下汉字的View结构,找了很多开源,合适的很少,后来自己根据其中一个pinyin-text-view对其做了修正已经做了进一步的优化与扩展,然后自己按耐不住发了一版。可以说现在非常简单易用容易上手

SundarPinyinText的GitHub地址 顺便给个星哇

直接上效果图

1.0.6_1.jpg

Gradle:

Step 1.

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Step 2.

dependencies {
      compile 'com.github.SundarFung:sundarPinyinText:1.0.7'
            }

maven:

Step 1.

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

Step 2.

<dependency>
    <groupId>com.github.SundarFung</groupId>
    <artifactId>sundarPinyinText</artifactId>
    <version>1.0.7</version>
</dependency>

使用方法

<com.sundar.sundarpinyintext.PinyinText
    android:id="@+id/textPT"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="28dp"
    android:layout_centerHorizontal="true"
    />


   String pinyinText="#yǒng#yuǎn# #Shēngrì# # #yǒng#yuǎn# #Shēngrì# # #yǒng#yuǎn# #Shēngrì# #";
        String chineseText="#永#远# ____ 。#生日# ____!# #永#远# ____ 。#生日# ____!# #永#远# ____ 。#生日# ____!#";
        String chineseNorText="生日生日生日生日";
        String pinyinNorText="ShēngrìShēngrìShēngrì";
        List<Pair<String, String>> pairList = new ArrayList<>();
        String[] mChinese = chineseText.split("\\#");
        String[] mPinyin = pinyinText.split("\\#");
        for (int i = 0; i < mChinese.length; i++) {
            if (i < mPinyin.length) {
                pairList.add(Pair.create("" + mChinese[i], "" + mPinyin[i]));
            }
        }
//汉字
    textPT.setText(chineseNorText);
    textPT.setTextColor(0xefef6688);//颜色是8位16进制
    //汉字带字体
    text_ttf.setText(chineseNorText,"mengmengda.ttf");//设置非拼音汉字结构的字体
    //拼音
    pinyinPT.setText(pinyinNorText);
    //拼音带字体
    pinyin_ttf.setText(pinyinNorText,"mengmengda.ttf");
    pinyin_ttf.setTextColor(0x88FF9912);
    pinyin_ttf.setTextSize(60);
    //普通的拼音汉字结构
    pinyinTextPT.setPinyinText(pairList);
    //普通带间距
    pinyinTextPT1.setPinyinText(pairList);
    pinyinTextPT1.setTextSize(50);//汉字的大小
    pinyinTextPT1.setVerticalSpacing(60);//每行字之间的距离(字多换行间)
    pinyinTextPT1.setHorizontalSpacing(100);//横向每个字之间的距离
    //普通的拼音汉字结构带字体,字体限制只对拼音有效
    pinyinText_ttf.setPinyinText(pairList,"mengmengda.ttf");//设置上下结构的拼音字体
    pinyinText_ttf.setPinyinTextColor(0x889933FA);
    pinyinText_ttf.setPinyinTextSize(50);//拼音的大小
    pinyinText_ttf.setLineSpacing(20);//拼音和汉字之间的距离(默认是行距的一半)

sundarfung.me

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,080评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,756评论 2 45
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,072评论 19 139
  • 环境树莓派3,系统Raspbian-4.4.21。 重新开启root账号,可由pi用户登录后,执行此命令后系统会提...
    黑球君阅读 5,265评论 0 0

友情链接更多精彩内容