Genaue Methode zur Bestimmung der gemessenen Höhe einer Ansicht, noch bevor sie von GONE in VISIBLE geändert wurde

8

Momentan habe ich ein Layout, das so aussieht. Es enthält.

  • Titeltextansicht und Preistextansicht, die immer sichtbar ist.
  • Beschreibung Textansicht , die je nach Erweiterung oder Minimierung sichtbar oder ausgeblendet sein kann.

Reduzieren (Während des App-Starts)

Expanding (Wenn der Benutzer darauf tippt)

Ich möchte eine nette Animation dazu haben. Also habe ich auf Ссылка

hingewiesen

Eines der Schlüsselelemente ist, die genaue Höhe von Description Text View zu kennen, noch bevor sie sichtbar ist.

Allerdings erkenne ich ein paar Arten von Code. Sie sind nicht genau

%Vor% %Vor%

Dies liefert den Wert 32. (Die korrekte gemessene Höhe soll 92 sein). Dies ist die Höhe für die erste Textzeile. Damit endet meine Animation um

Darf ich wissen, wie man die gemessene Höhe einer Ansicht richtig bestimmt, noch bevor sie von GONE in VISIBLE geändert wurde?

Mein Layoutcode lautet wie folgt:

%Vor%     
Cheok Yan Cheng 08.10.2013, 18:26
quelle

2 Antworten

26

Ihr zweites Code-Snippet ist fast korrekt, aber Sie müssen Pixelgrößen angeben - nicht FILL_PARENT/MATCH_PARENT . Dies sollte funktionieren:

%Vor%

Sie müssen einen Verweis auf die ViewGroup haben, dass v ein untergeordnetes Element ist, um dessen Breite zu erhalten, und MAX_HEIGHT definieren (oder vielleicht die Höhe der übergeordneten Ansicht verwenden?).

Außerdem sollten Sie die Höhenparameter der beiden TextViews innerhalb der horizontalen LinearLayout auf wrap_content ändern, da die Verwendung von match_parent hier Probleme verursachen kann. Das LinearLayout ist auf wrap_content festgelegt, aber die zwei untergeordneten Elemente geben keine Höhe an.

    
nmw 08.10.2013, 20:41
quelle
0

Ich habe das für meine Akkordeon-Komponente erreicht. Ich hatte genau das gleiche Problem, nämlich mein Akkordeon zu erweitern, das die "Ziel" -Höhe erforderte, dh die Höhe, die es nach der Erweiterung einnehmen würde. Dies gibt die richtige Höhe zurück:

%Vor%

Sie können sich die Akkordeon-Komponente und die Animation auf GitHub ansehen: Android Accordion View

    
Riya Gayasen 28.11.2016 08:07
quelle

Tags und Links