ich die Höhe einer Ansicht mit der TreeObserver Methode erhalten mag:Erhalten Höhe Blick - Variable werden muss, um final deklarierte
int v1_h;
v1.getViewTreeObserver().addOnGlobalLayoutListener(newViewTreeObserver.OnGlobalLayoutListener() {
@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
@Override
public void onGlobalLayout() {
//now we can retrieve the width and height
v1_h = v1.getHeight();
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN)
v1.getViewTreeObserver().removeOnGlobalLayoutListener(this);
else
v1.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
//Do something with v1_h later on
Ich möchte in einer Variablen, die Höhe speichern und später verwenden. Problem ist, dass es für den Zugriff auf die innere Klasse deklariert werden muss. Also mache ich es endgültig, aber jetzt sagt es, dass es nicht zugewiesen werden kann. Irgendwelche Ideen, wie das zu beheben ist?
Declare v1_h in einem Top-Level-Umfang rufen Sie addOnGlobalLayoutListener Methode –
ich verstehe nicht. Ich habe versucht, v1_h oben aufGlobalLayout() als eine globale Variable zu setzen, aber sie konnte später nicht unten gefunden werden, wenn ich mich außerhalb des Baumbeobachter-Codes befinde. Könnten Sie bitte erklären? – user1197993
@ user1197993 Grund für die Annahme der Antwort, die ich zur Verfügung gestellt habe? –