Fehlerhafte ImageView Ausgabe bei Verwendung von layout_weight

  • Antworten:3
Lars H.
  • Forum-Beiträge: 5

29.11.2015, 07:02:52 via Website

Hallo zusammen,

ich versuche eine Art scrollbare Bildergallerie mit Abschnittsüberschriften in meinem Fragment-Layout mit AndroidStudio zu basteln. Das klappt auch alles soweit. Zur Zeit habe ich eine TextView der über die ganze Seite geht und dort direkt drunter sollen dann drei Bilder nebeneinander gezeigt werden (siehe Bild linke Seite). Dies soll mit der Zeit um weitere Überschriften und Bilder erweitert werden.
Da ich die App auf verschiedenen Devices verwenden werde, wollte ich eine prozentualle Verteilung der Bilder auf den Bildschirm mit layout_weight erzielen. Das klappt auch soweit, jedoch übernimmt er dann bei der Höhe die gesamte Bildhöhe und nicht die, die sich durch das skallieren ergibt und plaziert dann das Bild mittig (siehe Bild rechte Seite).

image

Meine Frage daher: Was mache ich falsch bzw. was muss ich im Code ändern?

Hier mein Code:

<ScrollView
xmlns:android="schemas.android.com/apk/res/android" //* musste ich anpassen, da ich ein neues Mitglied bin :( fehlt also noch das http: *//
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none"
android:layout_weight="1">


<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:textStyle="bold"
        android:text="titel"
        android:id="@+id/titel"
        android:gravity="center"
        android:padding="3dp"
        android:textSize="18sp"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/titel">

    <ImageView
        android:layout_width="0dp"
        android:layout_weight="0.208"
        android:layout_height="match_parent"
        android:id="@+id/image1"
        android:src="@drawable/1"/>

    <ImageView
        android:layout_width="0dp"
        android:layout_weight="0.389"
        android:layout_height="match_parent"
        android:id="@+id/image2"
        android:src="@drawable/2"/>

    <ImageView
        android:layout_width="0dp"
        android:layout_weight="0.403"
        android:layout_height="match_parent"
        android:id="@+id/image3"
        android:src="@drawable/3"/>

    </LinearLayout>

</RelativeLayout>

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.11.2015, 09:04:23 via App

Schau dir mal deine layout_height der ImageViews an. Ich denke match_parent ist hier nicht das passende Attribut ;)

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Lars H.
  • Forum-Beiträge: 5

29.11.2015, 17:02:37 via Website

Upps...ja habe ich auch gerade gesehen... Aber selbst bei wrap_content erziele ich das Resultat auf der rechten Seite des Bildes!
Er nimmt da partout die Originalhöhe des Bildes...

Muss ich mir vielleicht errechnen?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

29.11.2015, 17:05:08 via App

Kann man ja machen. Ich weiss aber gerade nicht wie das geht. Kannst ja mal suchen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten