如何在PercentRelativeLayout中设置负百分比边距?

时间:2015-10-13 09:16:04

标签: android android-layout android-percentrelativelayout android-percent-library

我需要在PercentRelativeLayout中设置负边距,但是当我在xml中尝试它时,它不起作用。

  

应用程式:layout_marginTopPercent = “ - 10%”

我在测量父级时尝试以编程方式设置负边距,但PercentRelativeLayout会保留其子项LayoutParams并还原对它们所做的任何更改。

在dp中设置负边距的工作方式如下,但我绝对需要给出相对于父级大小的负边距。

  

机器人:layout_margin = “ - 10dp”

我怎么能这样做,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

在测量父级时,我最终会根据父级大小将视图转换为负值。它不是一个可靠的解决方案,但它适用于我的情况。

protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    float marginTop = h / -10.0f;
    child.setTranslationY(marginTop);
}

答案 1 :(得分:0)

PercentRelativeLayout使用-1.0f作为边距的默认值 并且Helper仅设置值> = 0.0f 在您的情况下,没有必要使用此布局; 你可以将marginTopPercent设置为-1.0f并自己将值放在带有MarginLayoutParams的java中