我的应用程序面临严重问题,在Google Play上发布,显然在所有版本的 Android上都运行良好,除了> 4.0.

这是我的Android 4.0 HTC手机的截图:

这就是我在Nexus 7,Android 4.2.1上获得的(在模拟器中的相同行为):

我看到使用canvas.drawText()绘制的每个文本都有相同的行为

用于绘制文本的Paint是:

paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(color); //some color
paint.setTextSize(size); //some size
paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
paint.setTextAlign(Align.CENTER);

在logCat(4.2.1模拟器)中,我看到了很多

12-18 20:42:21.096: W/Trace(276): Unexpected value from nativeGetEnabledTags: 0

我在清单中使用这些设置:

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="8" />

解决方法

经过大量的谷歌搜索,我回答了自己的问题……

诀窍在于使用setLinearText(true)作为用于绘制文本的Paint对象.现在,一切看起来都很棒.

paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(color);
paint.setTextSize(size);
paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
paint.setTextAlign(Align.CENTER);
paint.setLinearText(true);

这里保存我的一天的链接:

http://gc.codehum.com/p/android/issues/detail?id=39755

我希望它可以帮助一些人.

该文本尚未最佳呈现:

编辑(14/01/2013)

我仍然面临着一个kering问题(仅限于4.2.1).请在这里查看我的其他问题:

Android 4.2.1 wrong character kerning (spacing)

编辑(05/02/2013)

我看到另一个项目有同样的问题.请看下面的链接:

http://mindtherobot.com/blog/272/android-custom-ui-making-a-vintage-thermometer/

如果您在Nexus 4.2.1(或模拟器Android 4.2)上运行示例,您将获得相同的“奇怪”文本…

编辑(20/02/2013)

找到一个不使用setLinearText(true)的解决方法,请看这里:

Android 4.2.1 wrong character kerning (spacing)

Nexus 7上的Android 4.2:canvas.drawText()无法正常工作的更多相关文章

  1. android – Nexus 7 Spinners太大了

    解决方法好的,我找到了解决方案.我上面发布的Spinner布局实际上是来自res/layout-xlarge的Spinner,而Nexus是一个大型设备.res/layout-large包含以下xml:应该是什么时候:这当然是为什么微调文本看起来如此之大.我想这突出了在没有物理测试设备的情况下尝试管理多种布局尺寸的难度.

  2. android – Nexus 6和MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);

    嗨,我正在尝试使用视频文件制作背景活动.下面发布的解决方案适用于大多数设备,但nexus6Android5.1除外.视频正在运行,缩放但未裁剪,因此不保留纵横比.使用galaxyNote,HTCOnem7,XperiaZ3,Nexus5进行测试.这是代码:这是布局文件:目标sdk设置为22.您是否经历过这样的行为并且可以提出任何建议?

  3. 无法在Android Studio中启动AVD(Android虚拟设备)(在Mac上)

    谢谢,戴夫解决方法哇,多么痛苦.毕竟,事实证明只需关闭并重新打开AndroidStudio即可.另外,请注意虚拟设备似乎需要永远(几分钟?)才能出现.至少在我的MacBookAirMid2012上.处理器:1.8GHzi5内存4GB1600MHzDDR3.感谢MorrisonChang的想法.戴夫

  4. Nexus 7上的Android 4.2:canvas.drawText()无法正常工作

    我的应用程序面临严重问题,在GooglePlay上发布,显然在所有版本的Android上都运行良好,除了>4.0.这是我的Android4.0HTC手机的截图:这就是我在Nexus7,Android4.2.1上获得的:我看到使用canvas.drawText()绘制的每个文本都有相同的行为用于绘制文本的Paint是:在logCat中,我看到了很多我在清单中使用这些设置:解决方法经过大量的谷歌搜索,我回答了自己的问题……

  5. 无法将Nexus One手机连接到Android adb

    我是否需要重新启动它以重置为出厂版–即使它是全新的?对此的任何帮助都会很棒.如果adb无法查看设备,我无法在设备上测试我的应用程序.非常感谢提前.解决方法我有同样的问题.要使其正常工作,请执行以下操作:>关闭Eclipse>打开任务管理器并终止adb.exe程序.>重新打开Eclipse从命令提示符运行adb设备,您应该看到类似以下内容:当然,我假设您已将手机插入计算机.

  6. android – 在galaxy nexus上显示菜单按钮

    我需要在galaxynexus上显示一些活动的菜单按钮.我找不到怎么做,因为它默认隐藏它.我不想创建一个动作栏,因为它需要更多的空间,我想用于其他事情.当设置“android:targetSdkVersion”值低于14时,它似乎显示菜单按钮,但否则,它隐藏它.顺便说一句,活动需要全屏,没有标题/动作栏.非常奇怪的是,默认情况下,这个按钮没有显示在很多地方(甚至是发射器),在某些地方它确实存在.对

  7. Nexus One – Android 2.1发布,WHERE是2.1的SDK?

    Nexus安卓手机今天开始销售2.1Os.我的朋友刚刚订购了两个隔夜送货.我认为这意味着明天或第二天它将在他手中.如何让人们在他们的身上得到2.1,这是多么遥远开发人员甚至可以触摸SDK之前的手?我已经有了用户使用Nexis-Droid2.1rom说我的高度使用的小部件不起作用.我怎么能提前测试这个没有黑客攻击我的手机?当应用程序无法正常工作时,所有这一切都会让用户感到沮丧由于开发人员没有1星,因此降低了1星的市场有机会更新他们的代码.谢谢谷歌…

  8. 在nexus 5中使用Android相机捕获图像后的空指针

    在我的应用程序中,我使用Android设备相机捕获我的图像.在某些设备上它工作正常,但不是全部,我只是测试了LGnexus5E960,在我捕获图像后它总是结束崩溃而无法保存结果这是我的代码:我的logcat是:解决方法使用像并在Secondpage活动中得到像这样的图像浏览GettheThumbnail的Android开发人员文档

  9. 在android nexus 5(4.4.2)本机邮件应用程序上响应html电子邮件

    我有一个测试布局,它使用表格显示两列和媒体查询,它们将两列叠加到支持媒体查询的电子邮件客户端上.我坚持使用表而不是div,因为我们还需要支持Outlook:(.布局在Android4.3及以下版本中工作得很好(列叠加)但在Nexus5(Android4.4.2)上爆炸.两列第二列完全被挤压后仍然显示在彼此旁边.似乎4.4.2不支持td的显示块.有没有其他人经历过这个?

  10. android – 在Nexus S和三星Galaxy S I9000上的ACTION_IMAGE_CAPTURE方向问题

    我正在尝试使用以下代码拍摄照片并将其存储到内部存储中:问题是NexusS和galaxyS设备默认情况下,ACTION_IMAGE_CAPTURE意图的单一方向是横向.如果我以纵向模式拍摄照片,则该照片将被存储到旋转的“拍摄照片”文件中.这个问题似乎只出现在三星galaxyS设备(galaxyS和NexusS)上,我尝试的其他设备根据图像拍摄时的方向进行自动旋转.我将非常感谢有关该问题的任何帮助.解

随机推荐

  1. bluetooth-lowenergy – Altbeacon库无法在Android 5.0上运行

    昨天我在Nexus4上获得了Android5.0的更新,并且altbeacon库停止了检测信标.似乎在监视和测距时,didEnterRegion和didRangeBeaconsInRegion都没有被调用.即使RadiusNetworks的Locate应用程序现在表现不同,一旦检测到信标的值,它们就不再得到更新,并且通常看起来好像信标超出了范围.我注意到的一点是,现在在logcat中出现以下行“B

  2. android – react-native动态更改响应者

    我正在使用react-native进行Android开发.我有一个视图,如果用户长按,我想显示一个可以拖动的动画视图.我可以使用PanResponder实现这一点,它工作正常.但我想要做的是当用户长按时,用户应该能够继续相同的触摸/按下并拖动新显示的Animated.View.如果您熟悉Google云端硬盘应用,则它具有类似的功能.当用户长按列表中的任何项目时,它会显示可拖动的项目.用户可以直接拖

  3. android – 是否有可能通过使用与最初使用的证书不同的证书对其进行签名来发布更新的应用程序

    是否可以通过使用与最初使用的证书不同的证书进行签名来发布Android应用程序的更新?我知道当我们尝试将这样的构建上传到市场时,它通常会给出错误消息.但有没有任何出路,比如将其标记为主要版本,指定市场中的某个地方?解决方法不,你不能这样做.证书是一种工具,可确保您是首次上传应用程序的人.所以总是备份密钥库!

  4. 如何检测Android中是否存在麦克风?

    ..所以我想在让用户访问语音输入功能之前检测麦克风是否存在.如何检测设备上是否有麦克风.谢谢.解决方法AndroidAPI参考:hasSystemFeature

  5. Android – 调用GONE然后VISIBLE使视图显示在错误的位置

    我有两个视图,A和B,视图A在视图B上方.当我以编程方式将视图A设置为GONE时,它将消失,并且它正下方的视图将转到视图A的位置.但是,当我再次将相同的视图设置为VISIBLE时,它会在视图B上显示.我不希望这样.我希望视图B回到原来的位置,这是我认为会发生的事情.我怎样才能做到这一点?编辑–代码}这里是XML:解决方法您可以尝试将两个视图放在RelativeLayout中并相对于彼此设置它们的位置.

  6. android – 获得一首歌的流派

    我如何阅读与歌曲相关的流派?我可以读这首歌,但是如何抓住这首歌的流派,它存放在哪里?解决方法检查此代码:

  7. android – 使用textShadow折叠工具栏

    我有一个折叠工具栏的问题,在展开状态我想在文本下面有一个模糊的阴影,我使用这段代码:用:我可以更改textColor,它可以工作,但阴影不起作用.我为阴影尝试了很多不同的值.是否可以为折叠文本投射阴影?

  8. android – 重用arm共享库

    我已经建立了armarm共享库.我有兴趣重用一个函数.我想调用该函数并获得返回值.有可能做这样的事吗?我没有任何头文件.我试过这个Android.mk,我把libtest.so放在/jni和/libs/armeabi,/lib/armeabi中.此时我的cpp文件编译,但现在是什么?我从objdump知道它的名字编辑:我试图用这个android.mk从hello-jni示例中添加prebuild库:它工作,但libtest.so相同的代码显示以下错误(启动时)libtest.so存在于libhello-j

  9. android – 为NumberPicker捕获键盘’Done’

    我有一个AlertDialog只有一些文本,一个NumberPicker,一个OK和一个取消.(我知道,这个对话框还没有做它应该保留暂停和恢复状态的事情.)我想在软键盘或其他IME上执行“完成”操作来关闭对话框,就像按下了“OK”一样,因为只有一个小部件可以编辑.看起来处理IME“Done”的最佳方法通常是在TextView上使用setonEditorActionListener.但我没有任何Te

  10. android – 想要在调用WebChromeClient#onCreateWindow时知道目标URL

    当我点击一个带有target=“_blank”属性的超链接时,会调用WebChromeClient#onCreateWindow,但我找不到新的窗口将打开的新方法?主页url是我唯一能知道的东西?我想根据目标网址更改应用行为.任何帮助表示赞赏,谢谢!

返回
顶部