1

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

应用程序:layout_marginTopPercent="-10%"

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

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

android:layout_margin="-10dp"

我该怎么做,有什么想法吗?

4

2 回答 2

0

I ended up translating the view with negative value depending on parent size when parent is measured. It's not a solid solutions but It works in my case.

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);
}
于 2015-10-13T09:28:25.823 回答
0

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

于 2015-10-27T08:01:35.747 回答