Android-процент ConstraintLayout с использованием dimens
есть вопрос как заставить ConstraintLayout работать с процентными значениями? и его ответы показывают, как использовать проценты:
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="1dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5"/>
но если вы не хотите жестко кодировать процент, но использовать ресурс dimen, он не работает.
<!-- inside the layout -->
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="1dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="@dimen/guideline_perc"/>
<!-- inside dimens.xml -->
<dimen name="guideline_perc>0.5</dimen>
вы получаете следующую ошибку:
Float types not allowed (at 'guideline_perc' with value 0.5).
если вы замените значение на 1, возвращается аналогичная ошибка:
Integer types not allowed (at 'guideline_perc' with value 1).
Как установить процент без жесткого кодирования значения в макет?
1 ответов
вместо использования ресурса dimen используйте ресурс элемента типа dimen:
<item name="guideline_perc" type="dimen">0.5</item>
при использовании целых чисел an integer
ресурс будет работать лучше:
<integer name="guideline_perc">1</integer>