【问题标题】:Render crisp text using Canvas.drawText in Android在 Android 中使用 Canvas.drawText 渲染清晰的文本
【发布时间】:2010-05-20 12:59:24
【问题描述】:

我正在做一个 AppWidget,并在其设置中让用户启用/禁用文本阴影。由于我无法通过 RemoteViews 类调用 shadow 方法,因此我正在执行一个动态绘制小部件及其容器的“绘制”方法。

但在绘制文本时,它会变得有点模糊,不像使用 TextView 那样清晰。我用于文本绘制的唯一代码是:

Paint p = new Paint();
p.setAntiAlias(true);
p.setColor(Color.WHITE);

我还需要做其他什么魔法让它变得更脆吗?

【问题讨论】:

    标签: android android-widget


    【解决方案1】:
    Paint paint = new Paint(Paint.LINEAR_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
    

    帮我搞定了

    【讨论】:

      【解决方案2】:

      这些是我的文本绘制设置:

          textPaint = new Paint();
          textPaint.setStyle(Paint.Style.FILL);
          textPaint.setAntiAlias(true);
          textPaint.setARGB(255, 255, 255, 255);
          textPaint.setFakeBoldText(true);
          textPaint.setTextSize(textSize);
      

      似乎对我很有效。

      【讨论】:

      • 油漆油漆 = 新油漆(油漆.LINEAR_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);为我做了诀窍
      • 感谢您的提示。会尝试一下,看看我的文字现在是否更好看。 :)
      【解决方案3】:

      textsetAntiAlias(true)(在硬件模式下)仅适用于 API 18 及更高版本,因此请使用此代码设置您的图层类型。

      int currentapiVersion = android.os.Build.VERSION.SDK_INT;
          if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB && currentapiVersion < android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
              this.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
          }
      

      【讨论】:

      猜你喜欢
      • 2018-12-26
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      • 2015-04-14
      • 1970-01-01
      • 2012-01-26
      相关资源
      最近更新 更多