web-dev-qa-db-ja.com

TextViewから取り消し線を削除する

TextViewに取り消し線を設定するために、以下の行を使用しています。

tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);

ただし、後でフラグメントでTextViewを再度クリックすると、取り消し線が削除されます。 TextViewにテキストを通常の形式で再度表示させるために、どのコード行を使用できますか?

前もって感謝します!

33
edwoollard

私は結局これをオンラインで見つけました:

tv.setPaintFlags(tv.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG));

これにより、取り消し線が正常に削除されます。したがって、データベースでチェックを実行した後、OnListItemClickメソッドでこれを呼び出し、アイテムが既に取り消し線になっている(私の場合は購入済み)かどうかを確認しました。

80
edwoollard

別の方法は、単にsetPaintFlagsの値をゼロに設定することです。

tv.setPaintFlags(0) 

注:これにより、テキストの取り消し線が削除されます。

15
Ronak Mehta

OnClickListenerTextViewを設定し、Paintフラグをリセットし、そのinvalidate()を呼び出して、自分自身を再描画できます。

3
Emmanuel

AntiAliasを設定することで、テキストの歪みを軽減することができました

コトリン

tv.paintFlags = Paint.ANTI_ALIAS_FLAG
0