Ich muss in der Lage sein, die height -Eigenschaft von EditText dynamisch festzulegen. Ich verwende Datenbindung für andere Eigenschaften in meiner App, daher würde ich gerne Datenbindung verwenden können, um die Höhe meiner Elemente zu steuern. Hier ist eine abgespeckte Version meines xml:
%Vor%Und hier ist eine abgespeckte Version meines View Model:
%Vor%Die Dimensionen befinden sich in der Datei dimens.xml. Und ich modifiziere die Eigenschaften im View-Modell. Aber wenn ich die App starte, erhalte ich unmittelbar nach dem Start den folgenden Fehler (der Bindungsadapter feuert nicht auf Debug). Ich habe mehrere andere Elemente auf dem Bildschirm, aber diese besondere ist die, die ich brauche, um die Höhe zu ändern, wenn eine bestimmte Aktion auftritt:
%Vor%Es gibt ein paar Beiträge zu SO bezüglich dieses Problems, aber keine definitiven Antworten oder der Ansatz hat nicht funktioniert. Sicher ist dies eine Implementierung, die üblich ist. Vielen Dank im Voraus für die Hilfe.
In Java
%Vor%Und in Ihrem XML
%Vor%Importieren Sie die App wie folgt
%Vor%Laut der Diskussion zum Android Issue Tracker ist es nicht möglich, Layouthöhe oder -breite mit Datenbindung festzulegen, ohne benutzerdefinierte Bindungsadapter zu erstellen:
Der Bindungsadapter, der für die Einstellung der Ansichtshöhe benötigt wird, sieht folgendermaßen aus:
%Vor%Tags und Links java android data-binding mvvm