我正在使用paint在android中绘制一条虚线。
dashed.setPathEffect(new DashPathEffect(new float[] { 5, 5 }, 0));
在开发过程中,图形布局视图中的所有内容都显示正常。但是当我插入一个真实设备时,该设备显示一条实线。起初我以为是因为我的设备都是LG。然后我测试了三星S4:同样的问题。有谁知道如何解决这种差异?图形布局说一件事并且没有实际的设备同意它是没有意义的。有什么建议吗?
答案 0 :(得分:7)
查看关闭视图的硬件加速是否有帮助:
@Override
public static void disableHardwareRendering(View v) {
v.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
上的Android开发者页面
使用软件图层类型强制在软件中呈现视图。 如果视图是硬件加速的(例如,如果你的整个 应用程序是硬件加载的,有渲染问题, 这是一种解决硬件限制的简单方法 渲染管道。
有关code.google上此问题的更多信息:Link。
答案 1 :(得分:4)
禁用硬件加速可能不是最佳方式,请从here尝试此操作:
Path baseline = new Path();
baseline.moveTo(0, 0);
baseline.lineTo(100, 0);
canvas.drawPath(baseline, paint);
答案 2 :(得分:1)
如果您可能已经设置
android:hardwareAccelerated="true"
在清单文件中 - 重置它(设置为false)或更好地删除整行