我正在嘗試創建一個將在onClick按鈕上顯示圖像的活動。到目前爲止,我已成功地讓我的應用程序在單擊按鈕時淡入圖像,但我希望圖像顯示在已按下的按鈕上。根據按鈕的位置動態調整ImageView的位置
從我的理解你想要使用LayoutParams
我試圖做的,但它似乎從我的Button.getX()
和getY()
得到錯誤的值。這裏是我的代碼:
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ConstraintLayout.LayoutParams layoutParamsButton1 = new ConstraintLayout.LayoutParams(((int)button1.getX()), ((int)button1.getY()));
whatImage[0].setLayoutParams(layoutParamsButton1);
fadeInAndHideImage(whatImage[0]);
}
});
whatImage[]
只是ImageView
秒的數組,因爲我想改變周圍的地方,僅供參考。
無論如何,我認爲可能發生的問題是getX()
和getY()
方法重新調整錯誤的值,因爲我的按鈕受限於android.support.constraint.Guideline
s。另外,我不認爲這是一個問題,但我必須將它們投射爲(int)
,因爲它們都返回浮動。可能會有一些舍入錯誤,但我懷疑getX()
和getY()
會返回半個或四分之一像素的值。
感謝
編輯
只是想添加((int)uno.getX()), ((int)firstRail.getY())
到我LayoutParams
代替按鈕X和Y(UNO和firstRail是我使用的按鈕準則),但不幸的是把該按鈕與LayoutParams
使用按鈕getX()
和getY()
方法相同。
而且,它似乎縮小圖片,當它移動它,這也是奇
EDIT 2
唉,打印到了之後,看看究竟這些價值觀是什麼,button1.getX()
和firstRail.getX()
均返回0.0。這甚至可以使用約束佈局?
甜可能發生的事情!它似乎有效。我做了,但是取出' - whatImage [0] .getWidth()/ 2',因爲那個部分在不需要和setY()的第二部分一起扔到左邊。是的,感謝您在關於填充的部分中添加內容。 – cjnash