2016-10-21 60 views
1

截至目前,我正在開發一個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; 
    } 

回答

相關問題