我正在使用繪圖在android中繪製虛線。虛線在圖形佈局中顯示,但不在設備上
dashed.setPathEffect(new DashPathEffect(new float[] { 5, 5 }, 0));
在開發過程中,在圖形佈局視圖中,所有內容都顯示正常。但是當我插入一個真實的設備時,該設備顯示出一條實線。起初我以爲是因爲我的設備都是LG。然後我在三星S4上測試過:同樣的問題。有誰知道如何解決這種差異?圖形佈局是說一件事,但沒有實際的設備同意它是沒有意義的。有什麼建議?
我正在使用繪圖在android中繪製虛線。虛線在圖形佈局中顯示,但不在設備上
dashed.setPathEffect(new DashPathEffect(new float[] { 5, 5 }, 0));
在開發過程中,在圖形佈局視圖中,所有內容都顯示正常。但是當我插入一個真實的設備時,該設備顯示出一條實線。起初我以爲是因爲我的設備都是LG。然後我在三星S4上測試過:同樣的問題。有誰知道如何解決這種差異?圖形佈局是說一件事,但沒有實際的設備同意它是沒有意義的。有什麼建議?
看看該視圖關閉硬件加速幫助:
@Override
public static void disableHardwareRendering(View v) {
v.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
從Android開發頁面上Hardware Acceleration:
使用一個軟件層類型來強制軟件渲染視圖。 如果硬件加速的視圖(例如,如果您的整個應用程序硬件加速),則會出現渲染問題,這是解決渲染管線硬件限制的簡單方法。
有關此問題的更多信息,請訪問code.google:Link。
如果你也許已經設置
android:hardwareAccelerated="true"
在你清單文件 - 復位(虛假集),或者更好取出整條生產線
禁用硬件加速,可能是沒有最好的方式,試試這個從here:
Path baseline = new Path();
baseline.moveTo(0, 0);
baseline.lineTo(100, 0);
canvas.drawPath(baseline, paint);
哦,是的。我在新的float [] {5,5}中玩弄數字。沒有不同。 –
您可以嘗試關閉視圖的硬件加速。覆蓋'disableHardwareRendering(View v){v.setLayerType(View.LAYER_TYPE_SOFTWARE,null); }'。 – Vikram
這是@vikram。你是否介意張貼作爲迴應,所以我可以將這個帖子標記爲已回答? –