2016-08-27 4 views
0

보기가 있습니다. WindowManager.LayoutParams를 통해 (x, y) 위치에 배치하고 싶습니다.android layoutparam 다중 화면 지원

내 코드는 다음과 같습니다

mHeadLayoutParams = new WindowManager.LayoutParams(
       WindowManager.LayoutParams.WRAP_CONTENT, 
       WindowManager.LayoutParams.WRAP_CONTENT, 
       WindowManager.LayoutParams.TYPE_PHONE, 
       WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, 
       PixelFormat.TRANSLUCENT); 
     mHeadLayoutParams.gravity = Gravity.TOP | Gravity.END; 
     mHeadLayoutParams.x = -20; 
     mHeadLayoutParams.y = _screenSize.y * 15/100; 

그러나 mHeadLayoutParams.x = -20하지 않습니다 다른 장치 화면에 동일. 이 값을 다중 장치 화면의 동일한 위치에 배치 된 내 뷰로 계산하려면 어떻게해야합니까?

my image

내 나쁜 영어 죄송합니다.

답변

1

를 사용하여 화면 비율과 밀도. 멀티 스크린을 자동으로 지원합니다.

1

그것은 바로 보일 때 사용 : mHeadLayoutParams.x = (INT) - (20 * 밀도 + 0.5F) mHeadLayoutParams.x & mHeadLayoutParams.y에서