Androidアプリで文字を表示するときはTextViewを使いますね。
今回はそのTextViewに、URLを貼りつけて、そのURLにタッチしたらブラウザを立ち上げる方法を解説します。
拙作『ほむほむ語変換』のトップページで、まさにそれをやっています。
やり方を知らなかったら、TextViewを3段組んで、ひとつひとつ文字色を変更して、2段目のTextViewにクリックリスナーを設定して、クリックされたらUriにURLをぶちこんで……という風に作ってしまうと思います。
スマートなやり方として、TextViewにセットするString変数をHTMLソースとして認識させる方法があります。
まずは、レイアウトXMLの方にTextViewを設置します。
android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#ddffffff" android:textSize="14sp" android:text="aaa" android:textColor="#dd6666" />
こちらはいつも通りですね。
次にソースコードの方です。
text1 = (TextView) findViewById(R.id.text1); MovementMethod mm = LinkMovementMethod.getInstance(); text1.setMovementMethod(mm); String html = "不具合や、ご意見ご要望などございましたら、<br><a href=\"https://twitter.com/gucci1208\">twitterID:gucci1208</a><br>までご気軽にどうぞm(_ _)m"; CharSequence cs = Html.fromHtml(html); text1.setText(cs);
URLをタッチしてブラウザを起動するのを有効にしたり、String変数をHTMLとして識別したりしています。
特に、↓ここで実際の文字列を指定するのですが、HTMLなので、改行コードは「\n」ではなくて「<br>」ですね。
あと、「”」(ダブルクオーテーション)をエスケープしたりしています。
String html = "不具合や、ご意見ご要望などございましたら、<br><a href=\"https://twitter.com/gucci1208\">twitterID:gucci1208</a><br>までご気軽にどうぞm(_ _)m";
うまく使いこなせば、リッチなTextViewに仕上げることができます。
コメントを残す