Letzte Zeile der erweiterbaren ListView nicht vollständige Ansicht in Android

9

Hier verwende ich die Ansicht und den dort angegebenen Code.

%Vor%

Und ich benutze epandablistview als unter Klasse.

%Vor%

Ich beziehe diese Frage, aber wurde nicht richtig. Raster mit Bildern in ScrollView

Gridview-Höhe wird abgeschnitten

Das Hauptproblem tritt auf, wenn die erste Zeilenhöhe nicht größer als die zweite ist. Wenn alle Zeileninhalte gleich sind, dann gibt es keine Probleme.

    
Ramchandra Singh 07.04.2017, 11:06
quelle

3 Antworten

1

Es sieht so aus, als ob Sie die LayoutParams für Ihre ListView erhalten, indem Sie den height-Parameter ändern, aber Sie rufen nie setLayoutParams auf, um der View mitzuteilen, dass sie die geänderte Höhe verwenden soll. Versuchen Sie Folgendes:

%Vor%

Außerdem habe ich in der Vergangenheit Probleme mit der onMeasure () -Methode festgestellt, es wird nicht alles gemessen, wenn das Framework diese Methode aufruft. Sie können einen ViewTreeObserver ausprobieren, in dem Sie einen Listener registrieren können, um benachrichtigt zu werden, wenn die vollständige Ansicht angezeigt wird angelegt, so:

%Vor%     
Jason Powell 12.04.2017 01:13
quelle
0
___ answer43358617 ___

Es sieht so aus, als ob Sie die LayoutParams für Ihre ListView erhalten, indem Sie den height-Parameter ändern, aber Sie rufen nie setLayoutParams auf, um der View mitzuteilen, dass sie die geänderte Höhe verwenden soll. Versuchen Sie Folgendes:

%Vor%

Außerdem habe ich in der Vergangenheit Probleme mit der onMeasure () -Methode festgestellt, es wird nicht alles gemessen, wenn das Framework diese Methode aufruft. Sie können einen ViewTreeObserver ausprobieren, in dem Sie einen Listener registrieren können, um benachrichtigt zu werden, wenn die vollständige Ansicht angezeigt wird angelegt, so:

%Vor%     
___ answer43438786 ___

Sie ändern die Höhe, aber Sie übergeben sie nicht an die Ansicht.

Verwenden Sie diese Methode, setLayoutParams (params);

    
___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ tag123listview ___ Ein ListView ist ein grafisches Screen Control oder Widget, das von UI-Bibliotheken in den meisten modernen Betriebssystemen bereitgestellt wird, um Elemente in Listenform anzuzeigen. ___ qstnhdr ___ Letzte Zeile der erweiterbaren ListView nicht vollständige Ansicht in Android ___ tag123expandablelistview ___ ExpandableListView ist ein Standard-Android-Widget, das Elemente in einer vertikal scrollenden Liste mit zwei Ebenen anzeigt. Gruppen können erweitert oder reduziert werden, um ihre untergeordneten Elemente ein- / auszublenden. Zusätzliche Information:  - Android-Entwickler ExpandableListView ___ qstntxt ___

Hier verwende ich die Ansicht und den dort angegebenen Code.

%Vor%

Und ich benutze epandablistview als unter Klasse.

%Vor%

Ich beziehe diese Frage, aber wurde nicht richtig. Raster mit Bildern in ScrollView

Gridview-Höhe wird abgeschnitten

Das Hauptproblem tritt auf, wenn die erste Zeilenhöhe nicht größer als die zweite ist. Wenn alle Zeileninhalte gleich sind, dann gibt es keine Probleme.

    
___ tag123gridview ___ Ein Gridview ist ein Steuerelement zum Anzeigen und Bearbeiten von Daten aus einer Vielzahl von Datenquellen. ___ antwort43360288 ___

Wenn nur ein Kind vorhanden ist, ist es besser, ExpandableListView oder RecyclerView mit verschiedenen layouts zu verwenden. Hier ist ein vollständiges und sehr gutes Tutorial zur Verwendung von ExpandableListView .

Bei der Verwendung von ListView wird immer eine Höhe hinzugefügt, die ein bisschen kleiner ist als die ursprüngliche (oder es gibt einen anderen Fall, aber ich weiß nicht warum. Wenn jemand es weiß, dann korrigiere mich). Also müssen Sie am Ende einige dp's height manuell hinzufügen.

Ich habe es getan, indem ich onDraw method überschrieben habe. Unten ist, wie ich es gemacht habe.

%Vor%     
___
Waqas Ahmed Ansari 12.04.2017 04:25
quelle
0

Sie ändern die Höhe, aber Sie übergeben sie nicht an die Ansicht.

Verwenden Sie diese Methode, setLayoutParams (params);

    
Raj 16.04.2017 15:25
quelle