1. ホーム
  2. android

[解決済み] Androidでペイントフラグを除去する

2023-03-11 08:41:31

質問

私のコードは次のようなものです。

    TextView task_text = (TextView) view.findViewById(R.id.task_text);
    task_text.setPaintFlags( task_text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);

これにより、テキストに取り消し線が表示されるようになりました。しかし、一度設定したフラグを解除する方法と、フラグが設定されていることを検出する方法を教えてほしい。

ビット演算であることは理解していますが、~演算子、-演算子ともに試してみましたが、どちらもうまくいきません。

どのように解決するのですか?

フラグを削除するには、このようにすればよいでしょう。

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

というのは、セットされたフラグをすべてセットすることを意味します。 Paint.STRIKE_THRU_TEXT_FLAG .

フラグが設定されているかどうかを確認する(編集:一瞬、javaであることを忘れてしまった...)。

if ((task_text.getPaintFlags() & Paint.STRIKE_THRU_TEXT_FLAG) > 0)