【问题标题】:Scaling Problems with Text and Paths. JellyBean Android 4.1.2文本和路径的缩放问题。果冻豆安卓 4.1.2
【发布时间】:2013-03-23 09:08:32
【问题描述】:

我在三星 Galaxy Tab (GT-N8010) 上获得了 JellyBean 更新。

使用画布缩放文本时,文本不清晰且难看。在 JellyBean 更新之前,文字流畅而准确。

AVD 模拟器 (Android 4.1) 和三星 Galaxy II 上的相同应用程序 (apk) 看起来也不错。

以下图片,质量好(原始尺寸)上传,显示丑陋的文字。此行为适用于 Samsung Galaxy Tab (GT-N8010,Android 4.1.2)、Samsung Galaxy Nexus (4.2.1)、Acer Iconia A-500 (4.0.3)、HTC Tell (4.0.3)

应该如下图所示,在 JellyBean 之前在我的 Galaxy Tab 上工作,在我的三星 Galaxy II(GT-I9100,Android 4.0.4)和模拟器上仍然工作:

有什么提示吗?

我的简单代码:(完整,可以复制测试)

package com.example.textactivities;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

public class TestJellyBeanScaling extends Activity {

    Drawtest drawtest;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        drawtest = new Drawtest(this);
        setContentView(drawtest);

    }
    private class Drawtest extends View  {

        public Drawtest(Context context) {
            super(context);
            // TODO Auto-generated constructor stub
        }

        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint paint = new Paint();
            paint.setColor(Color.WHITE);
            paint.setStyle(Style.FILL);
                    paint.setAntiAlias(true);
            canvas.drawPaint(paint);
            canvas.scale(10,10);
            paint.setColor(Color.BLACK);
            paint.setTextSize(20);
            canvas.drawText("Some Text", 10, 25, paint);

        }
    }
}

【问题讨论】:

  • 我想我必须用 path.transform(scale,scale) & .settextsize(scale*TEXTSIZE) 重写我的洞代码?

标签: android canvas android-4.2-jelly-bean


【解决方案1】:

我发现了问题: 在我的新 JellyBean 更新中,硬件加速默认为开启,而 Hardwareacceleration 接缝有问题。我不得不在 AndroidManifest.xml 中明确错误的“硬件加速”:

    <application
   android:hardwareAccelerated="false"
    android:icon="@drawable/ic_launcher"

问候

【讨论】:

    【解决方案2】:

    paint.setAntiAlias(true);

    为油漆设置反锯齿,会更平滑。

    【讨论】:

    • AntiAlias 没有解决问题。我知道这种方法,但即使我不将 antialias 设置为 true,它也不应该看起来那么丑,如图所示。即使使用抗锯齿,它看起来也很糟糕,因为 JellyBean。还有其他帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 2012-12-10
    • 2013-09-03
    • 2012-11-10
    相关资源
    最近更新 更多