Изменить размер представления в WindowManager в Android

Я хотел бы изменить размер моего представления, созданного с помощью службы в Windowmanager, при касании. Я изменил высоту и ширину, и он работает правильно.

Но я обнаружил, что params.x и params.y не меняются, поэтому они перемещаются во время изменения размера представления.

И для этого я нашел эти значения для другой ситуации

  • когда представление маленькое и находится вверху слева params.x = -310 params.y = -826

  • когда вид маленький и находится внизу слева params.x = -364 params.y = 958

  • когда вид большой и находится вверху слева params.x = -253 params.y = -657

  • когда вид большой и находится внизу слева params.x = -323 params.y = 888

    и это мой код онтоприкосновения

                        case MotionEvent.ACTION_DOWN:
                            initialX = params.width;
                            initialY = params.height;
                            initialTouchX = event.getRawX();
                            initialTouchY = event.getRawY();
                            Log.w("DOWN","X="+params.x+" Y="+params.y);
                            return true;
    
                        case MotionEvent.ACTION_MOVE:
                            params.width = (int) (initialX + (int) (event.getRawX() - initialTouchX));
                            params.height = (int) (initialY + (int) (event.getRawY() - initialTouchY));
                            Log.w("MOVE","X="+params.x+" Y="+params.y);
                            windowManager.updateViewLayout(videoLoder, params);
                            return true;
    
  • Как получить params.x и params.y как изменение высоты и ширины?

  • И как вычисляются эти params.x и params.y?

Я нашел какой-то похожий вопрос, но еще не ответил.


person Keyur    schedule 09.03.2016    source источник


Ответы (1)


Я установил гравитацию в центр, поэтому эта проблема была поднята, но после установки гравитации в верхнее левое положение все работает как шарм

params.gravity = Gravity.TOP | Gravity.LEFT;

Может кому пригодится

person Keyur    schedule 23.03.2016