[解決済み] TextViewのリンクから下線を消す - Android
2022-12-03 05:49:37
質問
私は、2つの
textview
を使ってデータベースからのリンクを表示していますが、リンクの色を変更することはできましたが、アンダーラインを削除したいのです。
email.setText(c.getString(5));
website.setText(c.getString(6));
Linkify.addLinks(email, Linkify.ALL);
Linkify.addLinks(website, Linkify.ALL);
XMLやコードからできるのでしょうか?
どのように解決するのですか?
コード内で
URLSpan
のインスタンスを見つけて、下線を引かないバージョンに置き換えることです。を呼び出した後
Linkify.addLinks()
を呼び出した後、関数
stripUnderlines()
に貼り付ける。
TextView
s:
private void stripUnderlines(TextView textView) {
Spannable s = new SpannableString(textView.getText());
URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
for (URLSpan span: spans) {
int start = s.getSpanStart(span);
int end = s.getSpanEnd(span);
s.removeSpan(span);
span = new URLSpanNoUnderline(span.getURL());
s.setSpan(span, start, end, 0);
}
textView.setText(s);
}
これは、TextPaintの"underline"プロパティを有効にしない、URLSpanのカスタマイズされたバージョンを必要とします。
private class URLSpanNoUnderline extends URLSpan {
public URLSpanNoUnderline(String url) {
super(url);
}
@Override public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
}
関連
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] APKファイルからソースコードを取得する方法はありますか?
-
[解決済み] TextViewのリンクをクリック可能にする方法
-
[解決済み] リンクから青いアンダーラインを削除する
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み] Android Debug Bridgeでアプリケーションのインストール時にINSTALL_FAILED_VERSION_DOWNGRADEを無視する方法はありますか?
-
[解決済み] edittextのテキストがメールアドレスかどうかを確認するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] BottomSheetDialogFragmentの状態をexpandedに設定する。
-
[解決済み] ArrayAdapter<myClass> の使用方法
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] Studio 3.4 をアップデートしたら、引数の leftShift() メソッドが見つかりませんでした。
-
[解決済み] 複数のフィルタを持つBroadcastReceiverか、複数のBroadcastReceiverか?
-
[解決済み] アンドロイドでシェイクを検出するには?
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] Android端末がHDPI画面かMDPI画面かを確認する方法は?
-
[解決済み] PendingIntentの "requestCode "は何に使うのですか?
-
[解決済み] ViewPager2でスワイプを無効にするには?