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