2016-07-14 8 views
0

Als ich bin mitcanvas.getHeight() gibt „falsche“ Zahlen

onDraw(Canvas canvas) 

Ich brauche den unteren Rand der Leinwand kennen.

canvas.getHeight() 

oder

Mit
canvas.getClipBounds() 

alle geben mir Werte, die "unter" LCD-Display sind. Zero ist sehr gut oben, unter meiner Nav-Bar. Aber das Hinzufügen der Höhe ist viel zu "niedrig", um sichtbar zu sein, als ob sie vom oberen Rand des Bildschirms kommt, nicht von der nutzbaren Größe unterhalb der Navigationsleiste. Ich versuche diesen Code in einem Fragment zu verwenden, was vielleicht der Grund sein könnte?
Wie erhalte ich den niedrigsten sichtbaren Wert auf meinem Bildschirm?
Oder wie bekomme ich den "absoluten" Wert meiner "Nulllinie"? Ich könnte es dann subtrahieren.

Antwort

0

ich den zweiten Teil meiner Frage nur gelöst: den absoluten Wert zu erhalten, habe ich den folgenden Code:

int coordinate[] = {0,0}; 
    this.getLocationOnScreen(coordinate); 
    canvasHeight = canvas.getHeight() - coordinate[1]; 

So kann ich den Wert subtrahiert korrekte Werte zu erhalten; Gibt es noch eine andere Möglichkeit?