使用setShadowLayer()时,应用程序仅在4.4.2中崩溃

时间:2014-06-24 08:37:49

标签: android

我在列表视图的自定义适配器中使用textview.setShadowLayer(60,0,0, 0xFF303030);。我的应用程序在4.4.2版本的所有其他手机中正常运行。

起初我无法找到问题的真正原因。然后我注意到每当我评论上面的行时,我的应用程序在4.4.2中运行正常。

请帮助我找到在所有版本中使用上述代码的解决方案,或为上述代码提出任何替代方案。

1 个答案:

答案 0 :(得分:4)

PedroHawk的评论帮助我找到了解决这个问题的方法。

这就是我解决问题的方法:

textview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
textview.setShadowLayer(60,0,0, 0xFF303030);

直接添加上述代码,导致2.3设备崩溃。然后我必须这样做:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
{
   textview.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
textview.setShadowLayer(5,0,0, 0xFF303030);

以上代码使其在所有版本中都能正常运行(我已经使用2.3.3,4.0.4,4.4.2进行了测试)。