1

我需要在PercentRelativeLayout中設置負邊距,但是當我在xml中按如下方式嘗試時,它不起作用。如何在PercentRelativeLayout中設置負邊界百分比?

應用程式:layout_marginTopPercent =「 - 10%」

我試圖母體進行測量時以編程方式設置負餘量但PercentRelativeLayout保留其孩子的LayoutParams並回復到它們的任何更改。

在dp中設置負值保證金的工作原理如下,但我絕對需要給出一個相對於父母大小的負值保證金。

機器人:layout_margin = 「 - 10dp」

我怎麼能做到這一點,任何想法?

回答

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); 
} 
0

PercentRelativeLayout使用-1.0F邊距 的默認值和助手只設置一個值> = 0.0F 這是沒有必要在你的情況來使用這個佈局; 您可以將marginTopPercent設置爲-1.0f,並將您自己的值與java放在MarginLayoutParams中

+0

您是對的。我很好奇他們爲什麼不只是檢查值是否爲-1.0f。這樣他們會支持負利潤率。實現自定義佈局在我的情況下不是很可行,因爲我使用了很多PercentRelativeLayout的屬性,並且不想從中進行反射。 – Sfseyhan

相關問題