PercentRelativeLayout - layout_width缺少警告

时间:2015-11-12 22:19:46

标签: android android-studio android-support-library

我正在从支持库中尝试PercentRelativeLayout,而the docs只是要求我指定app:layout_widthPercent属性。但是,当我这样做时,Android Studio会给我一个红色警告,说明layout_width未指定。

除了抑制警告外,还有办法吗?

例如:

    <android.support.percent.PercentRelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.design.widget.TextInputLayout
            android:id="@+id/expiry_month_wrapper"
            app:layout_widthPercent="25%"
            android:layout_height="wrap_content">
            <EditText
                android:id="@+id/expiry_month_editText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:maxLength="2"
                android:hint="@string/month"
                android:focusable="true"
                android:inputType="number"/>
        </android.support.design.widget.TextInputLayout>

      <!-- more TextInputLayout fields -->

    </android.support.percent.PercentRelativeLayout>

TextInputLayout上发出警告。

2 个答案:

答案 0 :(得分:8)

按照惯例,即使在PercentRelativeLayout的app:layout_widthPercent和app:layout_aspectRatio功能上忽略了layout_width和layout_height,也需要包含它们。

在您的情况下,仅使用app:layout_widthPercent,只需将android:layout_width设置为任意数量的与密度无关的像素即可消除警告。

例如: android:layout_width =“0dp”

答案 1 :(得分:1)

我意识到这是一个老问题 - 但刚刚遇到这个问题我想确保它适用于所有人:)

PercentRelativeLayout添加视图会在文本编辑器中引发可视错误。它甚至可能无法在屏幕上呈现。继续运行您的模拟器,它应解决可见性问题。

要解决此错误,只需添加android:layout_width="0dp"只要您widthPercentheightPercent设置得当,就不会有问题。

这是我测试代码的例子

            android:text="Label label"
            android:id="@+id/btn1"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_alignParentTop="true"
            app:layout_widthPercent="50%"
            app:layout_heightPercent="30%"
            android:textSize="17sp"/>

        <Button
            android:text="Other other other"
            android:id="@+id/btn2"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_toRightOf="@id/btn1"
            app:layout_widthPercent="50%"
            app:layout_heightPercent="30%"
            android:textSize="17sp"/>