【问题标题】:Android widget - How to remove text strike through from remote viewAndroid 小部件 - 如何从远程视图中删除文本删除线
【发布时间】:2018-01-10 18:15:27
【问题描述】:

如何从远程视图中删除文本删除线。

这是我的代码,但它不起作用 --

通过文本添加删除线(工作)-

views.setInt(R.id.widgetTitle, "setPaintFlags", Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);

删除文本删除线(不起作用)-

views.setInt(R.id.widgetTitle, "setPaintFlags", Paint.STRIKE_THRU_TEXT_FLAG & (~Paint.ANTI_ALIAS_FLAG));

完整代码-

            if (item.isCheck()) {
                views.setTextColor(R.id.widgetTitle, Color.WHITE);
                views.setInt(R.id.widgetTitle, "setPaintFlags", Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
            } else {
                views.setTextColor(R.id.widgetTitle, Color.WHITE);
                views.setInt(R.id.widgetTitle, "setPaintFlags", Paint.STRIKE_THRU_TEXT_FLAG & (~Paint.ANTI_ALIAS_FLAG));
            }

【问题讨论】:

    标签: android android-widget android-remoteview


    【解决方案1】:

    你不需要“取消删除”TextView,如果你想要普通文本,只需设置Paint.ANTI_ALIAS_FLAG就足够了(这是因为setPaintFlags()不添加新的和以前的标志,它只是设置新标志):

    if (item.isCheck()) {
                views.setTextColor(R.id.widgetTitle, Color.WHITE);
                views.setInt(R.id.widgetTitle, "setPaintFlags",
                             Paint.STRIKE_THRU_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
            } else {
                views.setTextColor(R.id.widgetTitle, Color.WHITE);
                views.setInt(R.id.widgetTitle, "setPaintFlags", Paint.ANTI_ALIAS_FLAG);
            }
    

    如果您想保留多个以前设置的标志,同时删除删除线效果,我想向您指出这个post by edwoolard

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      相关资源
      最近更新 更多