Здравствуйте, у меня есть настраиваемый вид, в котором есть android:layout_width="match_parent"
и android:layout_height="match_parent"
. В Activity, содержащем это представление, я хочу реализовать View.OnTouchListener
и переместить это представление соответственно влево, вправо, вверх и вниз от центра просмотра. Как этого добиться? Это мой код, но он не работает так, как хотелось бы.
publi c класс Game extends Activity реализует View.OnTouchListener {
public GameSurface gs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game_layout);
gs = findViewById(R.id.gameSurface);
gs.setOnTouchListener(this);
...
}
@Override
public boolean onTouch(View v, MotionEvent event) {
float dX = v.getX() - event.getRawX();
float dY = v.getY() - event.getRawY();
ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) gs.getLayoutParams();
params.setMargins((int)dX/2, (int)dY/2, (int)dX/2, 4);
gs.setLayoutParams(params);
return true;
}