0
的我計算函數圖形,並付諸android.graphics.Path
對象,然後用android.graphics.Canvas.drawPath()
畫它。Android的路徑與值超出範圍
這非常有效,除非絕對的y值非常高(正值或負值),並且應用程序在某些設備上運行。然後,它可能根本不會畫出路徑。發生這種情況的門檻似乎是隨機的和設備特定的。
有誰知道這裏可能是什麼問題?
[編輯:這僅發生目標API級是14或更高]
編輯: 例如,採取View.onDraw(Canvas canvas)
方法內看看這個代碼:
Paint paint = new Paint();
Path p1 = new Path();
paint.setColor(Color.BLUE);
for(float x = 0; x < getWidth(); x++)
p1.lineTo(x, x);
canvas.drawPath(p1, paint);
Path p2 = new Path();
paint.setColor(Color.GREEN);
for(float x = 0; x < getWidth(); x++)
p2.lineTo(x, x*x);
canvas.drawPath(p2, paint);
第一路徑應該是從左上角到右下角的一條線;第二條路徑應該是相同的,但是具有拋物線的形狀(因此,你只能看到它的一部分)。
第一條路徑被繪製,第二條路徑沒有繪製,顯然是因爲y值太高。這將是很高興知道什麼「太高」意味雖然;)
你可以給你的問題添加一些代碼嗎?究竟是什麼問題?拋出的異常或者路徑根本不可見(當您繪製出畫布大小時,這很明顯)。 – Ridcully
我做了,謝謝你的建議。沒有例外拋出;路徑是完全不可見的,甚至是在畫布邊界內的部分。 – Georg
請教你如何添加你的'paint'設置? – Ridcully