在xml文档中,有没有办法从dimens.xml加载一个值并使其为负数? 例如,如果我有:
<dimen name="x">20dp</dimen>
是否可以做这样的事情:
android:layout_marginRight="-@dimen/x"
所以我事实上得到了:
android:layout_marginRight="-20dp"
答案 0 :(得分:14)
这在标准布局XML中是不可能的。您可以在Java中检索维度值,将其乘以-1
,并将其应用于Java。
如果您真的想要,您甚至可以在自己的自定义子类yourapp:layout_negativeMarginRight
中以自定义属性(例如ViewGroup
)的形式执行此操作。这似乎有点矫枉过正。
更新:现在通过data binding expressions可以实现这一点:
android:padding="@{0.75f * @dimen/icon}"
由于缺少可以实现的绑定适配器,它不适用于边距或任何其他布局属性。请参阅this bug。