프로그래밍/Android

뷰의 크기 변경,이동

chance 2011. 9. 23. 16:44

 

 

자식 뷰 추가

view.addView( childView, LayoutParams );

 

액티비티의 최 상위 윈도우에 윈도우로 뷰 추가하기

WindowManager wm =

(WindowManager) context.getSystemService( Context.WINDOW_SERVICE );

 

wm.addView( View ,WindowManager.LayoutParams );

 

제거

removeView( childView );

 

윈도우 뷰

wm.removeView( childView );

 

뷰의 크기 변경

ViewGroup.LayoutParams param = view.getLayoutParams();

param.width = 너비;

param.height = 높이;

view.setLayoutParams(param);

 

자식 뷰의 크기 변경

updateViewLayout( chideView, LayoutParams );

 

 

뷰 이동 : 윈도우로 add된 뷰(WindowManager.LayoutParams)만 가능

WindowManager.LayoutParams params = new WindowManager.LayoutParams();

params.x = x위치;

params.y = y위치;

 

wm.updateViewLayout( chidView, params );

 

터치를 따라 이동하는 뷰의 경우

1. 터치 onTouchEvent 핸들링

2. WindowManager.LayoutParams 생성

3. WindowManager 얻기 ( getSystemService )

4. 윈도우 생성및 뷰 추가( addView )

5. 터치 move

6. 뷰이동( WindowManager.LayoutParams 변경 )

7. 적용 ( updateViewLayout )