Regular Motion

개발자가 상팔자

Tag: toast

[Android] 2. Toast Notification 생성

 Toast Notification은 현재 사용자가 스크린에 주의를 기울이고 있는 것을 명확하게 확신할 때, 

“파일이 저장되었습니다.”와 같은 짧은 텍스트 메시지를 표시하는데 주로 사용된다. 이때 
Toast Notification은 사용자와의 상호작용 이벤트를 수신할 수 없기 때문에 만약 사용자의
액션을 수신하고자 하면 Status Bar Notification을 사용하는 것이 바람직하다.
함수를 통해 메시지가 출력되는 시간, 위치를 수정할 수 있고 메시지내에 아이콘을 추가

할 수 있다.
[Default Toast의 구현 예] 
// Toast 생성
Toast toast = Toast.makeText(getApplicationContext(), “Toast Notification”, Toast.LENGTH_LONG);
// Toast 위치 설정
toast.setGravity (Gravity.BOTTOM | Gravity.LEFT, 0, 50);
// Toast 출력
toast.show();
[실행 결과]
[Custom Toast의 구현 예]
Layout에 toast_layout.xml 파일을 생성한 뒤, ImageView와 TextView를 추가한다.
<ImageView android:id=”@+id/image”
  android:layout_width=”wrap_content”
  android:layout_height=”fill_parent”
  android:layout_marginRight=”10dp” 
  />
<TextView android:id=”@+id/text”
 android:layout_width=”wrap_content”
 android:layout_height=”fill_parent”
 android:textColor=”#FFF” 
 />
LayoutInflater를 이용하여 toast_layout.xml 파일에 저장한 view를 얻어온다.
     LayoutInflater inflater = getLayoutInflater ();
     View layout = inflater.inflate(R.layout.toast_layout,
     (ViewGroup) findViewById(R.id.toast_layout_root));
        // xml 파일에 사용된 id로 접근하여 image view와 text view를 얻어온다.
     ImageView image = (ImageView) layout.findViewById(R.id.image);
     image.setImageResource(R.drawable.icon);
     TextView text = (TextView) layout.findViewById(R.id.text);
     text.setText(“Hello! This is a custom toast!!”);
    
        Toast toast = new Toast(getApplicationContext());
        toast.setGravity (Gravity.BOTTOM | Gravity.LEFT, 0, 50);
        toast.setDuration(Toast.LENGTH_LONG);
        // 위에서 생성한 layout를 현재 toast의 layout으로 설정한다.
        toast.setView(layout);
        toast.show();
[실행결과]

[Android] 1. 3가지 방식의 Notification.

Android에는 3가지 방식의 Notification이 있다.

Toast Notification, StatusBar Notification, Dialog Notification이 서로 다른 방법으로 사용자에게
Notification을 주는데 각각의 방법의 특징은 아래와 같다.
1. Toast Notification : 현재 Activity를 상호작용 가능한 상태로 유지한 채 필요한 메시지를 
    
    출력한 뒤 사라진다. Toast Notification의 경우는 일방적으로 사용자에게 메시지를 보여주기만 
    할 뿐 사용자와의 상호작용은 존재하지 않는다.
    (이미지의 왼쪽 하단에 메시지 박스와 같은 방식으로 notification 해준다.)
    
2. StatusBar Notification : Application이 Background에서 작업을 하고 있는 중 사용자에게 알려야 
    할 것이 있을 때 사용된다. StatusBar Notification은 시스템의 StatusBar에 확장 메시지를 추가한다. 이후
    사용자가 확장 메시지를 선택할 때 Notification에 정의된 intent(작업)가 실행된다.
3. Dialog Notification : 사용자와의 상호작용이 가능한 Notification. 현재 Focused된 Activity와 
    직접적으로 관련된 일을 처리하기 위해 사용된다.
 
    (일반적으로 사용자의 동의를 얻거나 Progress Bar를 보여줄 때 사용된다.)

© 2017 Regular Motion

Theme by Anders NorenUp ↑