7

我正在使用油漆在android中绘制虚线。

dashed.setPathEffect(new DashPathEffect(new float[] { 5, 5 }, 0));

在开发过程中,图形布局视图中的一切都显示得很好。但是当我插入一个真实的设备时,设备会显示一条实线。起初我以为是因为我的设备都是 LG。然后我在三星 S4 上测试:同样的问题。有谁知道如何解决这种差异?图形布局说的是一件事,但没有实际设备同意它,这是没有意义的。有什么建议吗?

4

3 回答 3

11

禁用硬件加速可能不是最好的方法,请从这里尝试:

Path baseline = new Path();
baseline.moveTo(0, 0);
baseline.lineTo(100, 0);
canvas.drawPath(baseline, paint);
于 2017-11-15T08:58:08.640 回答
9

查看关闭视图的硬件加速是否有帮助:

@Override
public static void disableHardwareRendering(View v) {

    v.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

}

来自硬件加速的 Android 开发者页面:

使用软件层类型强制在软件中呈现视图。如果硬件加速的视图(例如,如果您的整个应用程序都是硬件加速的)出现渲染问题,这是一种解决硬件渲染管道限制的简单方法。

在 code.google 上有关此问题的更多信息:链接

于 2013-07-22T18:59:51.790 回答
1

如果你可能已经设置

android:hardwareAccelerated="true" 

在您的清单文件中- 重置它(设置为 false)或者,最好删除整行

于 2014-04-16T08:43:34.793 回答