【Android】IconFontで特定の文字が特定の端末で色が変更できない
IconFont
メリット
- アプリ容量を軽量化することができる。
- 解像度別に画像を用意しなくても済む。
- ベクターデータなので1個用意すれば全解像度デバイスにも対応できる。
デメリット
- 単一カラーのみに限る。
何が起きたか
特定の文字のみでサムスンのドコモ端末だけでなぜかsetTextColor()が効かず、想定していない色になった。
他の文字だと自由自在に色を変えられるIconFontなのにある文字達だけ青やらオレンジやらの固定の文字色から変更ができなかった。白にしたいのに。
ちょっと調べた
IconFontは各々の画像(フォント)にUnicodeが振られる。
ドコモのサムスン機のみドコモの絵文字とUnicodeが同一のものの色だけ絵文字の方に奪われる。
https://www.nttdocomo.co.jp/service/developer/make/content/pictograph/extention/index.html
他のドコモ機では起きなかったのでサムスン機だけ内部でごにょごにょやっている。というより頑張って対応したんだろうか、はたまた単なるバグなのか。
つまり、auでもSoftbankでもサムスン機では絵文字の色からUnicodeがかぶると変えられないというハプニングがハプンする可能性が高そう(検証できてない)
解決策
どうしようもないので、デザイナーさんにUnicodeを振り直してもらい、絵文字のUnicode一覧のどの絵文字ともかぶらないUnicodeに全てをしてもらった。
Author And Source
この問題について(【Android】IconFontで特定の文字が特定の端末で色が変更できない), 我々は、より多くの情報をここで見つけました https://qiita.com/kohirose/items/53bc0e7d7a0c010767f4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .