Il y a une question How to make ConstraintLayout work with percentage values? et ses réponses montrent comment utiliser les pourcentages:Android - pourcentage ConstraintLayout utilisant dimens
<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"/>
Mais si vous ne voulez pas coder en dur le pourcentage, mais utiliser une ressource dimen il ne travail.
<!-- 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>
Vous obtenez l'erreur suivante:
Float types not allowed (at 'guideline_perc' with value 0.5).
Si vous remplacez la valeur avec 1, une erreur semblable est retourné:
Integer types not allowed (at 'guideline_perc' with value 1).
Comment définissez-vous une pourcentage sans codage en dur de la valeur dans la mise en page?
Si cela fonctionne , alors c'est soit un bug IDE ou un bug d'outils de construction, car les deux approches résultent en une ressource de dimension. – CommonsWare
La définition d'une ressource en tant que dimen nécessite une unité de mesure. Définir comme un élément avec le type «dimen» ne le fait pas. De plus, un format 'float' pourrait être ajouté mais ce n'est pas nécessaire. – neits
Ah, je vois. Essayez d'utiliser une ressource 'float' ou' integer', plutôt que 'dimen'. – CommonsWare