2015-11-12 3 views
6

Я пробовал PercentRelativeLayout из библиотеки поддержки, и the docs просто попросил меня указать приложение: layout_widthPercent. Однако, когда я это делаю, Android Studio дает мне красную предупреждающую информацию о том, что layout_width не указана.PercentRelativeLayout - layout_width missing warning

Помимо подавления предупреждения, есть ли способ обойти это?

Например:

<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

У меня такая же проблема. Это приводит к чему-то плохому или просто предупреждению? – pratz9999

ответ

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"/> 
8

По соглашению, как layout_width, так и layout_height должны быть включены, даже если они функционально игнорируются приложением PercentRelativeLayout: layout_widthPercent и app: layout_aspectRatio, соответственно.

В вашем случае, только используя приложение: layout_widthPercent, просто установите android: layout_width на любое количество независимых от плотности пикселей, чтобы избавиться от предупреждения.

Например: андроид: layout_width = «0dp»

+3

Но будьте осторожны ... мы знаем, что «wrap_content», например, имеет очень специфический смысл с PercentRelativeLayout ... поля не игнорируются полностью. – lilbyrdie

Смежные вопросы