Instagram や Twitter のようにテキスト内の「@xxx」や「#xxx」にリンクを貼る方法(Android)
やり方 ①
いい感じのライブラリがありました AutoLinkTextView
やり方 ②
SpannableString で検索すると色々と出ます。
リンクがタップされた場合の動作設定、リンクの下線を消したり
リンクの色を変更したりと、なんだかんだできます。
文字列の中から「@xxx」を抽出する方法
// @xxxを抽出したい文字列(String)
String text = "@xxx 晴れ女? @yyy とんだハッピー @zzz 野郎だな";
//「@+半角英数字とアンダーバー」までの部分を抜き出す。
Pattern ptn = Pattern.compile("@([a-zA-Z0-9_]+)");
Matcher mt = ptn.matcher(text);
while (mt.find()) {
// mt.group() に抽出された「@xxx」が入っています。
Log.d("文章内の該当した部分", "【" + mt.group() + "】");
// whileがループする度に2つ目、3つ目の「@yyy」「@zzz」が入ります。
}
これで Android の SNS アプリを作ることができます!
いい感じのライブラリがありました AutoLinkTextView
やり方 ②
SpannableString で検索すると色々と出ます。
リンクがタップされた場合の動作設定、リンクの下線を消したり
リンクの色を変更したりと、なんだかんだできます。
文字列の中から「@xxx」を抽出する方法
// @xxxを抽出したい文字列(String)
String text = "@xxx 晴れ女? @yyy とんだハッピー @zzz 野郎だな";
//「@+半角英数字とアンダーバー」までの部分を抜き出す。
Pattern ptn = Pattern.compile("@([a-zA-Z0-9_]+)");
Matcher mt = ptn.matcher(text);
while (mt.find()) {
// mt.group() に抽出された「@xxx」が入っています。
Log.d("文章内の該当した部分", "【" + mt.group() + "】");
// whileがループする度に2つ目、3つ目の「@yyy」「@zzz」が入ります。
}
これで Android の SNS アプリを作ることができます!