티스토리 뷰



이 자료들은 팁스소프트에서 제공하는 [ 알짜배기 ] 프로그램을 이용하면 더 편리하게 볼수 있습니다.
* 알짜배기 프로그램 받기 - http://www.tipssoft.com/bulletin/tb.php/QnA/8406
* 관리자의 Tipssoft 이야기를 들어보세요 ( 트위터 ID : tipssoft )

* 안드로이드 강좌 목록 - http://www.tipssoft.com/bulletin/tb.php/old_bbs/501
안드로이드 어플리케이션에서 사용자에게 알림사항을 전달하는 방법은 대화상자 출력, 상태바 사용,
토스트 출력 등 여러가지가 있습니다. 그 중에서 토스트는 간단하게 알림사항을 전달하기 위해서
많이 사용되고 있습니다. 이번 강좌에서는 사용자에게 토스트로 알림사항을 전달하는 방법에 대하여
알아보도록 하겠습니다.
1. 토스트 ( Toast ) 에 대하여...
토스트는 알림사항을 전달하기 위한 수단으로써 기본적으로 사용자와 상호작용을 할 수 없습니다.
즉, 토스트로 출력된 화면은 사용자가 조작할 수 없는 단순 출력용입니다.
그래서 토스트는 포커스를 가질 수 없는 최소한의 크기를 가지는 뷰에 출력되며 일정 시간동안
화면의 최상위에 출력된 후 자동으로 사라집니다. 토스트의 이러한 특징때문에 데이터가 저장이
완료되었거나 데이터가 정상적으로 업로드된 경우처럼 단순하게 처리결과를 확인시켜주기 위한
목적으로 사용합니다. 또한 눈에 보이는 액티비티뿐만 아니라 백그라운드에서 실행중인 서비스에서도
사용할 수 있습니다.
2. 기능 구현하기
토스트는 오직 출력하는 기능만 수행하기때문에 개발자는 단순하게 어떤 내용을 어느 위치에서
얼마동안 출력할 것인지만 명시하면 됩니다. 출력시간도 마음대로 설정할 수 있는 것이 아니라
"짧은 시간"과 "긴 시간" 둘 중에 한가지만 선택할 수 있습니다.
다음의 코드는 기본으로 설정된 위치에서 짧은 시간동안 문자열을 출력하는 코드입니다.
// 해당 어플리케이션이 반환하는 Context 객체를 얻는다.
Context context = getApplicationContext();
// Activity 의 상위 클래스가 Context 이기 때문에 자기자신을 직접 넘겨도 된다.
// Context context = this;

// 출력할 문자열
String str = "짧은 시간 출력되는 기본 Toast!!";
// 출력할 시간
int len = Toast.LENGTH_SHORT;

// 컨텍스트와 문자열 그리고 출력시간 정보를 이용하여 토스트를 생성한다.
Toast toast = Toast.makeText(context, str, len);
// 토스트를 출력한다.
toast.show();
토스트는 간단하게 자주 사용하는 기능이기때문에 아래처럼 코드를 연결하여 사용하기도합니다.
// 토스트를 생성한 후 바로 출력한다.
Toast.makeText(this, "짧은 시간 출력되는 기본 Toast!!", Toast.LENGTH_SHORT).show();
토스트가 출력되는 위치를 변경하고 싶을 때에는 아래의 코드처럼 setGravity 메소드를 사용하시면
됩니다.
// 컨텍스트와 문자열 그리고 출력시간 정보를 명시하여 토스트를 생성한다.
Toast toast = Toast.makeText(this, "긴 시간 출력되는 위치조정 Toast!!", Toast.LENGTH_LONG);

// 화면의 하단 중앙에 토스트가 출력될 수 있도록 설정한다.
// 두번째와 세번째 인자는 배치된 토스트위치에서 이동해야할 x, y 오프셋을 의미한다.
// x, y 오프셋에 값을 입력하면 입력한 수치만큼 토스트가 x 축과 y 축으로 이동한다.
toast.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL, 0, 0);
// 토스트를 출력한다.
toast.show();
3. 실행 결과
< 기본 위치에 출력한 토스트 >
< setGravity 함수를 호출하여 하단 중앙으로 출력위치를 변경한 토스트 >


댓글