我正在从支持库中尝试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上发出警告。
答案 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"
只要您widthPercent
和heightPercent
设置得当,就不会有问题。
这是我测试代码的例子
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"/>