PercentRelativeLayout - layout_width пропускает предупреждение
Я пробую PercentRelativeLayout из библиотеки поддержки, и документы просто просят меня указать свойство 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 ответа
Я понимаю, что это старый вопрос - но, столкнувшись с этой проблемой, я хочу убедиться, что она доступна для всех:)
Добавление вида к вашему 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"/>
По соглашению необходимо включать и layout_width и layout_height, даже если они функционально игнорируются app PercenRelativeLayout:layout_widthPercent и app:layout_aspectRatio, соответственно.
В вашем случае, используя исключительно app:layout_widthPercent, просто установите для android: layout_width любое количество независимых от плотности пикселей, чтобы избавиться от предупреждения.
Например: android:layout_width = "0dp"