setze die Höhe von imageview programmatisch als matchparent
Lesezeit: 2 Minuten
Andro-Mädchen
Ich muss die Höhe von an einstellen Bildansicht wie übereinstimmender Elternteil Programmatisch. Wenn es eine feste Höhe ist, weiß ich, wie man sie einstellt.
aber wie kann ich es als matchparent einstellen?
BEARBEITEN:
Tatsächlich ist die Höhe des übergeordneten Layouts dynamisch. Daher muss ich die Höhe der Bildansicht als Höhe des übergeordneten Elements festlegen.
Ich habe alle in den Antworten genannten Methoden ausprobiert. Aber die Höhe wird nicht als Match Parent festgelegt 🙁
In dem Moment, in dem ich in LayoutParams Alt+Enter drücke, sehe ich so viele Klassen. Können Sie mir bitte sagen, welche ich verwenden soll?
– Uday
13. Februar 2018 um 8:25 Uhr
Was ist die übergeordnete Ansicht?
– C. Leung
13. Februar 2018 um 11:33 Uhr
Sie sollten die Ansichtsklasse verwenden, die Sie LayoutParams festlegen möchten, dh verwenden Sie LinearLayout.LayoutParams, um Kinderwagen auf Ihr LL festzulegen 🙂
– Andreas
20. Juni 2018 um 6:34 Uhr
Was ist, wenn Sie möchten, dass die Höhe basierend auf den Abmessungen des Originalbilds dynamisch ist, die Breite jedoch MATCH_PARENT ist?
Wenn Sie die Parameter zum ersten Mal festlegen, weil Sie die Bildansicht programmgesteuert erstellt haben, wird dies einen Nullzeigerfehler (oder mit der Textansicht) verursachen und sollte es überall sonst tun.
– Tatarisieren
14. Mai 2018 um 8:23 Uhr
imageView.setLayoutParams
(new ViewGroup.MarginLayoutParams
(width, ViewGroup.LayoutParams.MATCH_PARENT));
Die Art der Layoutparameter hängt von der übergeordneten Ansichtsgruppe ab. Wenn Sie das falsche eingeben, führt dies zu einer Ausnahme.
was ist “breite”?
– FlorianB
3. Oktober 2016 um 22:07 Uhr
Für Kotlin-Benutzer
val params = mImageView?.layoutParams as FrameLayout.LayoutParams
params.width = FrameLayout.LayoutParams.MATCH_PARENT
params.height = FrameLayout.LayoutParams.MATCH_PARENT
mImageView?.layoutParams = params
Hier habe ich verwendet FrameLayout.LayoutParams da meine ansichten ( ImageView) Elternteil ist FrameLayout
Ich hatte das gleiche Problem. Gelöst durch erste Einstellung:
setMinHeight wird von ImageView definiert, während setMinimumHeight von View definiert wird. Laut Dokumentation wird der größere der beiden Werte verwendet, also müssen beide gesetzt werden.
Sie können dies versuchen, falls Sie mit dem Elternteil übereinstimmen möchten. Die Anordnung der Maße ist Breite und Höhe in Ordnung
web = new WebView(this);
web.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
Sie können die Konstante MATCH_PARENT oder ihren numerischen Wert -1 verwenden.
MATCH_PARENT ist nicht im Kontext definiert. Sie müssen ‘LayoutParams.MATCH_PARENT’ sagen.
– Akshat Agarwal
1. Dezember 2015 um 21:10 Uhr
13152200cookie-checksetze die Höhe von imageview programmatisch als matchparentyes
Ich habe alle in den Antworten genannten Methoden ausprobiert. Aber die Höhe wird nicht als Match Parent festgelegt 🙁
– Andro-Mädchen
25. April 2012 um 7:03 Uhr
Sie sollten Ihre akzeptierte Antwort überprüfen
– CularBytes
11. März 2019 um 20:35 Uhr