2015년 2월 5일 목요일

[ Android ] 최상위 뷰 만들기


어느 화면에서도 최상위를 유지하는 뷰를 만들어 보도록 하겠습니다.

먼저, 새로운 프로젝트를 생성합니다.

1. 최상위에 띄울 레이아웃 만들기
 새로운 xml을 생성하고 원하는 레이아웃으로 꾸며줍니다.
 저는 top_view.xml 파일을 생성하고 아래와 같이 버튼 하나를 생성하였습니다.


2. 최상위뷰를 컨트롤 할 버튼 만들기
 자동으로 생성되는(activity_main.xml) xml을 수정합니다.
 최상위 뷰를 실행 시킬 버튼과 해당 뷰를 제거하는 버튼을 만들었습니다.


3. 서비스 실행 및 종료 버튼 만들기
 위 2번에서 생성한 xml을 MainActivity에서 실행을하고 버튼을 터치하면 동작을 하도록 만들어줍니다.


4. 서비스 클래스 만들기
 앱이 종료되어도 뷰를 지속적으로 유지하기 위해 TopService.java 클래스를 생성합니다.
 서비스가 호출되면 1번에서 생성한 뷰를 출력하고 서비스가 종료되면 해당 뷰를 제거하는 기능을 합니다.


5. 매니페스트 수정
 최상위 뷰를 출력하기 위해서는 퍼미션을 등록해야하고 앱이 종료되어도 뷰를 유지 시키기 위해서는 리시버로 등록을 해야합니다.
SYSTEM_ALERT_WINDOW 퍼미션과 패키지명.TopService 서비스를 추가했습니다.



앱을 빌드하고 버튼을 눌러보면 다른 앱 위에서도 최상위를 유지하고있는 레이아웃을 확인할 수 있습니다.

중간중간 자세한 설명이 필요한 부분은 추후에 업데이트 하도록 하겠습니다.

댓글 없음:

댓글 쓰기

Post List