截至目前,我正在開發一個Android應用程序,該應用程序提供了一些培訓師可用來與其受訓人員進行交流的工具,的工具是一個由拖放式旋鈕*組成的陣容編輯器。如何獲得視圖的邊緣,移動到運行時未知的位置
*有一個默認的佈局SET->足球陣容:4/4/2
如果用戶按下saveBtn,陣容被保存爲自定義的obj。所謂的陣容,擁有x和y座標的2陣列。它在Recyclerview中被保存了一個名爲「Edit」的按鈕。通過按下編輯按鈕,我想通過在默認編輯模式活動中將這些x和y座標設置爲旋鈕來顯示已保存的陣容。
我所有這一切的問題是,程序總是返回在.xml中設置的默認邊距。
我.getLeft和.getBottom,你可以在這裏看到試了一下:
public Lineup saveLineup(){
int[] x=new int[10];
int[] y=new int[10];
LayoutParams[] layouts=new LayoutParams[10];
for(int i=0; i<10; i++){
x[i]=positions[i].getLeft();//positions contains all the spinners used in the .xml
y[i]=positions[i].getBottom();
}
Lineup lineup=new Lineup(x,y);
return lineup;
}
拖放我正在改寫OnTouch了Methode如下:
@Override
public boolean onTouch(View view, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
dX = view.getX() - event.getRawX();
dY = view.getY() - event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
view.animate()
.x(event.getRawX() + dX)
.y(event.getRawY() + dY)
.setDuration(0)
.start();
break;
default:
return false;
}
return true;
}
正是我一直在尋找,謝謝! –