カスタム絵文字の対応について
誰の役に立つのか不明だがメモ的に…
API出力からemojisをパースするとこから始まり、文字装飾スパンのカスタム版を書き起こしてステータス中のshortcode部分にセット。スパンが描画されるタイミングで画像キャッシュを探して、なければ裏でロード開始。ロード完了したらTextViewをinvalidateして再描画させる。
描画先がViewでもDrawableでもなくSpanだってのが面倒くさい。ロード完了時やアニメーション時に再描画させる必要があるが、Span単位ではなくView単位でinvalidateするしかない。うちの場合Spanの寿命とViewの寿命は連動してないので、View#setTextのタイミングでテキスト中のスパン全部にコールバックを登録してそれ経由でView#postInvalidate を呼び出してる。
https://mdx.ggtea.org は絶賛 String ID なうです よろしくおねがいします
じさばどん