我想在另一个维度中引用一个维度,但在其上使用运算符

问题描述

标题所示,我希望在另一个维度中引用一个维度,但想在其上使用运算符。像这样

<dimen name="corner_radius">8dp</dimen>
<dimen name="correction_for_corner_radius">-"@dimen/corner_radius"</dimen>

或者这个

android:layout_marginBottom=-"@dimen/corner_radius"

解决方法

本质上,您不能只使用 XML。 @dimen/corner_radius 实际上只是一个 ID,因此否定它不是您想要的。

我建议改为在运行时执行,例如在您的 Java / Kotlin 中将边距底部设置为:

-getResources().getDimension(R.dimen.corner_radius)
,

data binding library 支持表达式。请尝试使用相同的。