2013-07-22 214 views
2

我正在使用繪圖在android中繪製虛線。虛線在圖形佈局中顯示,但不在設備上

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

在開發過程中,在圖形佈局視圖中,所有內容都顯示正常。但是當我插入一個真實的設備時,該設備顯示出一條實線。起初我以爲是因爲我的設備都是LG。然後我在三星S4上測試過:同樣的問題。有誰知道如何解決這種差異?圖形佈局是說一件事,但沒有實際的設備同意它是沒有意義的。有什麼建議?

+0

哦,是的。我在新的float [] {5,5}中玩弄數字。沒有不同。 –

+0

您可以嘗試關閉視圖的硬件加速。覆蓋'disableHardwareRendering(View v){v.setLayerType(View.LAYER_TYPE_SOFTWARE,null); }'。 – Vikram

+0

這是@vikram。你是否介意張貼作爲迴應,所以我可以將這個帖子標記爲已回答? –

回答

6

看看該視圖關閉硬件加速幫助:

@Override 
public static void disableHardwareRendering(View v) { 

    v.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

} 

從Android開發頁面上Hardware Acceleration:

使用一個軟件層類型來強制軟件渲染視圖。 如果硬件加速的視圖(例如,如果您的整個應用程序硬件加速),則會出現渲染問題,這是解決渲染管線硬件限制的簡單方法。

有關此問題的更多信息,請訪問code.google:Link

0

如果你也許已經設置

android:hardwareAccelerated="true" 

在你清單文件 - 復位(虛假集),或者更好取出整條生產線

0

禁用硬件加速,可能是沒有最好的方式,試試這個從here

Path baseline = new Path(); 
baseline.moveTo(0, 0); 
baseline.lineTo(100, 0); 
canvas.drawPath(baseline, paint); 
相關問題