課題
TextViewにandroid:autolinkを設定すると、TextView内に記述されたURLは電話番号などを自動的にリンク化して
クリック可能にしてくれる。これは便利で良いのだけれど、文末がリンクで終わっていたりすると
TextViewのwidthがmatch_parentだったりした場合に残りの余白すべてがリンクになってしまい、
余白部分のクリックをリンクが奪ってしまう(端末やバージョンによるかも)。
対策
対策としてはsetText()する際にスペースを最後に一文字足せばそこでリンクが切れるのだけど、
それをautolinkしてるTextViewに全部やるのもちょっと面倒だな。
課題2
Android6系の端末でautolink="web"の認識に問題があり、ピリオドを含むテキストがリンクと勘違いされてしまう
ケースがある。
対策
LinkifyCompatと PertternsCompat.AUTOLIN_WEB_URLを使って明示することで対応する。
PertternsCompat.WEB_URLだと問題が治らないので注意
public static void toAutoLinkText(TextView view, String text) { view.setText(String.format("%s ", text)); //余白がタップされても良いように String[] schemas = {"https://","http://"}; LinkifyCompat.addLinks(view, PatternsCompat.AUTOLINK_WEB_URL,"https://", schemas,null,null); }