jjzjj

【原创】日语假名注音JpTextView

komine 2023-03-28 原文

支持日语假名注音的JpTextView

  • 支持自动换行
  • 支持自动宽高
  • 支持一次标记或者总是标记

网上找了一下,发现没有类似的轮子,就自己造了一个
源码:https://github.com/toukomine/JpTextView

1.引入依赖

代码已上传 mavenCentral仓库,在项目根目录的build.gradlerepositories节点加入以下代码,新版AndroidStudio默认已添加

repositories {
     ...
     mavenCentral()
}

app模块的build.gradle

implementation 'io.github.toukomine:JpTextView:1.0.1'

2.基本使用

<komine.widgets.JpTextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:sourceText="天気はいいですね、散歩しましょう!"
        app:sourceTextSize="20sp"
        app:kanaTextSize="12sp"
        app:oneMark="true"
        app:bgColor="@color/black"
        app:sourceTextColor="@color/white"
        app:kanaTextColor="@color/white"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"/>
  val tv = findViewById<JpTextView>(R.id.tv)
  tv.setKanaList(arrayListOf(JpTextView.Kana("天気","てんき"),JpTextView.Kana("散歩","さんぽ")))
  //tv.setKanaList(mapOf(Pair("天気","てんき"),Pair("散歩","さんぽ")))

3.标记模式

支持一次标记和总是标记,默认false,总是标记

app:oneMark="true" //开启一次标记,所有文字只在第一次显示假名注音

有关【原创】日语假名注音JpTextView的更多相关文章

  1. ruby-on-rails - 在 Active Record 回调中验证日语字符 - 2

    我有一个日文项目需要验证半角和全角日文字符,半角允许14个字符,全角允许7个字符。有人知道如何实现吗?现在在我的模型上classCustomervalidates_length_of:name,:maximum=>14end不是一个好的选择我目前使用的是ror2.3.5全角和半角都可以使用 最佳答案 首先,全角(全角)和半角(半角)的概念只存在于日语中的两种字符:罗马字符(即拉丁文)片假名字符韩语韩文有类似的概念,但日语平假名和汉字没有。对于片假名,半角字符有自己的Unicode代码点,并且呈现为全角字符一半的大小,尽管它们在其他方

  2. javascript - 如何在 Javascript 中获取日语字符的长度? - 2

    我有一个带有SHIFT_JIS字符集的ASP经典页面。页面head部分下的元标记是这样的:我的页面有一个文本框(txtName),它应该只允许200个字符。我有一个验证字符长度的Javascript函数,它在我的提交按钮的onclick()事件上调用。if(document.frmPage.txtName.value.length>200){alert("Youhaveexceededthemaximumlengthof200.");returnfalse;}问题是,Javascript无法获取以SHIFT_JIS编码的日文字符的正确长度。例如,字符测的SHIFT_JIS长度为8个字符

  3. javascript - 日语字符 :Convert lowerCase to upperCase using jquery - 2

    我尝试使用toUppercase()方法将日文字符转换为大写,但它返回相同的字符串而没有转换。有没有其他方法可以使用jquery或javascript来做到这一点。fieldValue="ショウコ";//japanesestring.functionconvertToUppercase(fieldValue){convertedValue=fieldValue.toUpperCase();returnconvertedValue;}如有任何帮助,我们将不胜感激! 最佳答案 有一个listofallthe"small"letters(

  4. javascript - 难以在 IE 中使用 Javascript 捕获日语字符输入 - 2

    我正在尝试将键盘输入从Javascript传递到Flex应用程序,该应用程序正在使用InternetExplorer显示,并且在WindowsXP语言栏中将输入语言设置为日语(使用完整的片假名)。初始击键后,我将焦点从Javascript传递到Flex中的文本字段。一旦焦点在Flex中,IME就会唤醒并且日文字符的输入行为正常。不幸的是,初始击键没有进入IME编辑器,因此我希望传递击键的unicode键值。Javascript中的keyDown事件仅报告keyCode为229,charCode为0。关于在使用日语输入时在Javascript中获取可用键或字符代码的任何想法?谢谢,菲利普

  5. javascript - 日语/字符编程技巧 - 2

    关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我有一个想法,可以编写一些网络应用程序来帮助我和其他人更好地学习日语,因为我正在学习这门语言。我的问题是该网站将主要使用英文,因此它需要混合流利的日文字符,通常是平假名和片假名,但后来是汉字。我离实现这个目标越来越近了;我发现页面和源文件需要是unicode和utf-8内容类型。但是,我的问题出现在实际编码中。我需要的是操纵假名文本字符串。一个例子是:けす我需要把那个动词转换成te形式けしテ。我更愿意在j

  6. javascript - 日语字符的正则表达式 - 2

    我正在使用Struts进行国际化。我想为日语和英语用户编写Javascript验证。我知道英语的正则表达式,但不了解日语用户。是否可以编写一个基于Unicode验证的用户正则表达式?请帮帮我。 最佳答案 这是一个正则表达式,可用于匹配所有英文字母数字字符、日文片假名、平假名、多字节字母数字(半Angular和全Angular)和破折号:/[一-龠]+|[ぁ-ゔ]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+|[々〆〤ヶ]+/u您可以对其进行编辑以满足您的需要,但请注意末尾的“u”标志。

  7. [极客大挑战 2019]PHP1-原创超详细 - 2

    [极客大挑战2019]PHP1提示:有一个良好的备份网站的习惯寻找一个备份文件字典,我在github上找的:scopion/dic:渗透字典,框架信息泄露,备份文件泄露,配置文件泄露。字典(github.com)我用的是top7777.txt字典,扫的很慢。扫出来www.zip这个文件,然后下载下来,里面只有index.php和class.php两个文件有作用。反序列化文件:index.php重点代码解读:Select=$_GET['select']//这里需要传入序列化的内容$res=unserialize(@$select);1.@符号在php中做错误控制操作符,当表达式附加@符号的时候,

  8. windows - Oracle 无法处理日语操作系统问题 - 2

    我有一个查询返回给定年份的第二个和第四个星期六,WITHALL_SATURDAYSAS(SELECTTO_CHAR(TO_DATE('01012014','DDMMYYYY'),'WW')*(level)ASWEEK_NO,NEXT_DAY(TO_DATE('01012014','DDMMYYYY')+(TO_CHAR(TO_DATE('01012014','DDMMYYYY'),'WW')*(level-1)*7),'土')ASSATURDAY_DATE,row_number()OVER(PARTITIONBYTO_CHAR(NEXT_DAY(TO_DATE('01012014','

  9. windows - 如何在 Windows 命令行和批处理脚本中处理文件名中的日语字符? - 2

    我在日文环境中使用日文版Windows7,不幸的是,我需要使用的许多文件和文件夹名称都使用日文字符。例如,我在.bat文件中有这一行:xcopy*"C:\blahblah\動作確認\"/E/R/K/Y/I但是,在C:\blahblah\文件夹中,这是我得到的文件夹的名称:C:\blahblah\蜍穂ス勤ココ隐构问题在于,Action确认已经被转化为侏穂ス勤コ隐构。后者,虽然它使用亚洲字符(和标点符号)是毫无意义的胡言乱语,甚至不是所有的日本字符。我研究了这个问题,发现许多使用Windows英文本地化版本的人都遇到了一个问题,即他们看到的是问号而不是日文字符。这不是我使用我的Window

  10. c++ - 使用 API WideChartoMultibyte 将日语字符从宽字符转换为多字节给出 '????' - 2

    在我的MFC应用程序中,我从字符串表中读取日语字符,然后使用以下代码将其转换为多字节WCHARwBuf[1024];intrc;rc=LoadStringW(hInstance,iResourceID,wBuf,1024);WideCharToMultiByte(1252,WC_COMPOSITECHECK,wBuf,-1,buf,1024,NULL,NULL);但是每个日文字符都被转换成'????'我试图将代码页从1252更改为1200但没有帮助。 最佳答案 Windows-1258是越南文本的代码页。日语无法在越南语代码页中表达

随机推荐