setze die Höhe von imageview programmatisch als matchparent

Lesezeit: 2 Minuten

Benutzer-Avatar
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 🙁

    – 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

imageView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

  • 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?

    – Taylor

    6. Februar 2019 um 14:59 Uhr

  • import android.view.ViewGroup

    – Alan Nelson

    1. Mai 2020 um 13:57 Uhr

imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;

  • 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:

imageView.setMinHeight(0);
imageView.setMinimumHeight(0);

Und dann :

imageView.getLayoutParams().height= ViewGroup.LayoutParams.MATCH_PARENT;

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

1315220cookie-checksetze die Höhe von imageview programmatisch als matchparent

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy