Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PercentFrameLayout: You must supply a layout_width attribute

I try to use a PercentFrameLayout but I get this error message:

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

This is the xml I use:

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

Is this a bug or is it my mistake?

like image 309
Ralph Bergmann Avatar asked Sep 25 '22 14:09

Ralph Bergmann


1 Answers

The layout_width and layout_height attributes are still required due to the XML layout specifications, but are effectively ignored in a PercentFrameLayout or PercentRelativeLayout.

You just have to set the values to 0dp or 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%" />

This is similar to the usage of a standard LinearLayout with layout_weight where you have to specify a layout_width too.

like image 153
Floern Avatar answered Oct 06 '22 20:10

Floern