缩放文本和路径问题。 JellyBean Android 4.1.2

时间:2013-03-23 09:08:32

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

我在三星Galaxy Tab(GT-N8010)上使用JellyBean进行了更新。

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

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

下面的图片,质量上乘(原始大小),显示丑陋的文字。此行为是在三星Galaxy Tab(GT-N8010,Android 4.1.2),三星Galaxy Nexus(4.2.1),宏基Iconia A-500(4.0.3),HTC Tell(4.0.3) enter image description here

应该像下面的图片一样,在我的Galaxy Tab上的JellyBean之前工作,并且仍在我的三星Galaxy II(GT-I9100,Android 4.0.4)和模拟器中工作: enter image description here

任何提示?

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

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);

        }
    }
}

2 个答案:

答案 0 :(得分:1)

我发现了问题: 随着我的新JellyBean更新硬件加速被默认为打开和Hardwareacceleration接缝是错误的。我不得不明确地假设AndroidManifest.xml中的“硬件加速”:

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

问候

答案 1 :(得分:0)

paint.setAntiAlias(true);

为油漆设置反别名,这将更加顺畅。