화면 오른쪽에 붙어있는 이미지라서 이미지 파람 값을
mImageParams.gravity = Gravity.RIGHT | Gravity.TOP;
mImageParams.x = 0;
mImageParams.y = ImagepositionY;
이런 식으로 잡아주고 있습니다.
처음 이미지를 생성할때는 문제 없는데요.
mPopupImageView.setImageResource(id);
frameAnimation = (AnimationDrawable) mPopupImageView.getDrawable();
frameAnimation.start();
int screen_width = (int)(imageScale * mPopupImageView.getDrawable().getIntrinsicWidth() / 2);
int screen_height = (int)(imageScale * mPopupImageView.getDrawable().getIntrinsicHeight() / 2);
mImageParams = new WindowManager.LayoutParams(
screen_width,
screen_height,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
);
mImageParams.gravity = Gravity.RIGHT | Gravity.TOP;
mImageParams.y = ImagepositionY; // 이전 이미지와 같은 높이
mImageParams.x = 0;
mWindowManager.updateViewLayout(mPopupImageView, mImageParams);
이렇게 이미지를 바꿀때 크기가 다르면
이미지의 중심을 기준으로 이미지가 생성되는지
오른쪽에 붙이기 위해서 이미지가 이동하는모습이 나옵니다.
바뀌는 이미지가 크면 오른쪽에서 튀어 나오는것 처럼 보이고,
바뀌는 이미지가 작으면 오른쪽과 이미지 사이에 틈이 생겼다가 이미지가 오른쪽으로 붙는것 처럼 보입니다.
서로 다른 크기의 이미지를 로드하더라도 오른쪽에 붙어있게 유지 할 수 있는 방법이 있을까요?