视图未在特定情况下绘制

时间:2014-01-23 02:46:52

标签: android draw

亲爱的Stack Overflow用户,

我正在利用这个例子的Vintage Thermometer Template(源代码可下载) http://mindtherobot.com/blog/272/android-custom-ui-making-a-vintage-thermometer/

我修改的代码的唯一部分是背景图像和比例的参数化。我的试用版应用程序运行良好,包括仿真器(手机4.0'Android 4.3)和平板电脑(7.0'Android 4.4.2),以及我的手机,Galaxy S Plus和Galaxy S III。

由于代码似乎工作,我将视图移动到另一个项目,我正在使用温度计作为车速表。在这里,一切都很好,无论是模拟器还是我的Galaxy S Plus ......,而不是Galaxy S III!

什么工作,什么不工作:一切都有效,但方法 drawHand()显然。由于某种原因,手不上漆。就在Galaxy S III的新项目中。

现在,布局和代码中的所有内容都可以。我无法在任何地方找到交叉兼容性问题。我问你的问题可能是一个更普遍的问题:这样的事情实际上会发生,为什么?我没有找到任何东西就搜索了几天类似的问题。

视图以同样的方式膨胀:

<com.example.speedometer.Tachimetro
    android:id="@+id/tachimetro2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1.5" />

在线性布局中。

除了主要活动的召唤之外,清单什么都没有。 Galaxy S III是唯一没有画画的手机。

This is what I see, except in a Galaxy SIII where needle is not painted

这很奇怪。知道我的下一步可能是什么?

2 个答案:

答案 0 :(得分:2)

很抱歉迟到的回复,但请尝试禁用硬件加速。一种方法是将以下内容添加到清单文件中:

<application android:hardwareAccelerated="false" ...>

答案 1 :(得分:1)

对于wthomas的相关解决方案,而不是手动禁用硬件加速,mayou可以针对API 13或更少:

    <uses-sdk
    android:minSdkVersion="3"
    android:targetSdkVersion="13" />
  • 在API 14(4.0冰淇淋三明治)之后,硬件加速变为&#34;自动。&#34;