0
我得到了一個RelativeLayout
的佈局,其可見度爲GONE
。此rl是在將可見性設置爲visible
時出現在碎片底部的帶有按鈕的條形圖的佈局。雖然RL仍然不可見,但有2個按鈕,當我將其設置爲可見時,RL覆蓋按鈕。以編程方式設置視圖Y位置
我想要做的只是將按鈕向上移動,使其變得可見。我試圖做到這一點:
rl.setVisibility(View.VISIBLE);
rl.post(new Runnable()
{
int dpToPx(final int dp)
{
return (int) (dp * getResources().getSystem().getDisplayMetrics().density + 0.5f);
}
@Override
public void run() {
int h = rl.getHeight(); //height is ready
h = dpToPx(h);
ImageButton button = (ImageButton)inflate.findViewById(R.id.button1);
float y = button.getY();
button.setY((float)h+y - 1100);
ImageButton button2 = (ImageButton)inflate.findViewById(R.id.button2);
y = button2.getY();
button2.setY((float)h+y);
}
});
與-1100按鈕(這個數字只是一些我檢查,看看它是如何影響按鈕的位置並不會呆在那裏很明顯)是表示我想它是。另一個按鈕太高或太低,不再可見。
如何設置位置,使按鈕的Y位置爲舊位置+新顯示的相對佈局的高度,以便按鈕在其上方顯示?
這是不合邏輯的,因爲RL的getY不會改變,按鈕的高度相等,所以結果對於所有的都是一樣的。它應該是按鈕的getY和RL的高度,而不是相反。 –
對不起,我可能會誤解,你可以發佈你的佈局實現,以便我可以有一個更好的理解?你在使用XML還是動態創建它? – Khaled