5

liefere ich versuchen, eine PercentFrameLayout zu verwenden, aber ich bekomme diese Fehlermeldung:PercentFrameLayout: Sie müssen layout_width Attribut

Binary XML file line #: You must supply a layout_width attribute. 

Dies ist xml Ich benutze:

<android.support.percent.PercentFrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <ImageView 
     app:layout_heightPercent="50%" 
     app:layout_marginLeftPercent="25%" 
     app:layout_marginTopPercent="25%" 
     app:layout_widthPercent="50%"/> 
</android.support.percent.PercentFrameLayout> 

Ist das ein Bug oder Ist es mein Fehler?

+0

Das sieht genau wie das Beispiel bei http://developer.android.com/reference/android/support/percent/PercentFrameLayout.html anders als die Reihenfolge der Parameter, so dass ich davon ausgehe, dass es korrekt ist. Sind Sie sicher, dass das die Ansichten mit dem Problem sind? Wenn Sie diese Ansichten entfernen, wird Ihr Layout korrekt geladen? –

+0

@CoryCharlton Ja, es ist aus dem Dokument und ja, es ist die Ansicht mit dem Problem. Android Studio hebt es ebenfalls als Problem hervor. –

Antwort

4

Die layout_width und layout_height Attribute werden nach wie vor durch die XML-Layout-Vorgaben erforderlich sind, aber effektiv in einem PercentFrameLayout oder PercentRelativeLayout ignoriert.

Sie müssen nur die Werte auf 0dp oder wrap_content:

<ImageView 
    android:layout_height="0dp" 
    android:layout_width="0dp" 
    app:layout_heightPercent="50%" 
    app:layout_marginLeftPercent="25%" 
    app:layout_marginTopPercent="25%" 
    app:layout_widthPercent="50%" /> 

Dies ist auf die Verwendung eines Standard-LinearLayout mit layout_weight ähnlich ist, in dem Sie eine layout_width zu spezifizieren.

+0

Aber das Dokument sagt 'Es ist nicht notwendig, layout_width/height anzugeben, wenn Sie layout_widthPercent angeben. –

+0

@RalphBergmann Das ist komisch, ich konnte nicht einmal das XML kompilieren, ohne die Breite/Höhe anzugeben .. Also ich bin mir nicht sicher, ob Die Dokumente sind korrekt. – Floern

+0

Sieht so aus, als ob es notwendig ist-- Ich habe versucht, width/height auszulassen (keine Ausnahmen geworfen), und kann es nur richtig rendern, indem ich beide Werte auf 0dp setze. – Rachael

Verwandte Themen