PercentFrameLayout: необходимо указать атрибут layout_width

Я пытаюсь использовать PercentFrameLayout, но получаю следующее сообщение об ошибке:

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

Это xml, который я использую:

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

Это ошибка или это моя ошибка?

1 ответ

Решение

layout_width а также layout_height атрибуты все еще требуются из-за спецификаций макета XML, но эффективно игнорируются в PercentFrameLayout или же PercentRelativeLayout,

Вам просто нужно установить значения 0dp или же 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%" />

Это похоже на использование стандарта LinearLayout с layout_weight где вы должны указать layout_width тоже.

Другие вопросы по тегам