Remove a Paint Flag in Android

后端 未结 6 1494
刺人心
刺人心 2020-12-12 18:40

My code looks like this:

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


        
6条回答
  •  自闭症患者
    2020-12-12 19:31

    Use exclusive OR operator ^ instead of | with &(~) combination:

    // setup STRIKE_THRU_TEXT_FLAG flag if current flags not contains it
    task_text.setPaintFlags(task_text.getPaintFlags() ^ Paint.STRIKE_THRU_TEXT_FLAG));
    
    // second call will remove STRIKE_THRU_TEXT_FLAG
    task_text.setPaintFlags(task_text.getPaintFlags() ^ Paint.STRIKE_THRU_TEXT_FLAG));
    

    Check if flag is currently setup:

    if((task_text.getPaintFlags() & Paint.STRIKE_THRU_TEXT_FLAG) == Paint.STRIKE_THRU_TEXT_FLAG)
    

提交回复
热议问题