有一个问题如何使用百分比值使 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).
如何设置百分比而不是硬编码到布局中?
integer
会是更好的解决方案,没错,但在这个例子中我正在使用一个浮点数,据我所知并没有float
资源。 - neits<item name="guideline_perc" type="dimen" format="float">0.67</item>
- AutonomousApps