토스트(Toast)
짧은문자열을 보여주는 작은 팝업 대화상자.
• 안드로이드의 시스템차원에서 제공되며 디버깅, 학습용으로 유용
• 플로팅 형태로 화면하단에 나타났다 일정시간이 지나면 자동으로 사라짐
• 알림사항을 전달할 뿐 포커스를 받을 수 없어 사용자의 작업을 방해하지않음
• 아래의 정적 메서드로 생성
Activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/shortmsg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="짧은 메시지" />
<Button
android:id="@+id/longmsg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="긴 메시지" />
<Button
android:id="@+id/count1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="카운트 연속 출력" />
<Button
android:id="@+id/count2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="카운트 연속 출력2" />
<Button
android:id="@+id/customview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="커스텀 뷰 표시" />
</LinearLayout>
Toastview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toastlayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/image1"
/>
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Pride is a pretty car"
/>
</LinearLayout>
MainActivity.java
package com.example.testex15;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
Toast mToast=null;
int count;
String str;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.shortmsg).setOnClickListener(mClickListener);
findViewById(R.id.longmsg).setOnClickListener(mClickListener);
findViewById(R.id.count1).setOnClickListener(mClickListener);
findViewById(R.id.count2).setOnClickListener(mClickListener);
findViewById(R.id.customview).setOnClickListener(mClickListener);
}
Button.OnClickListener mClickListener = new Button.OnClickListener(){
public void onClick(View v){
switch(v.getId()){
case R.id.shortmsg:
Toast.makeText(MainActivity.this, "잠시 나타나는 메시지", Toast.LENGTH_SHORT).show();
break;
case R.id.longmsg:
Toast.makeText(MainActivity.this, "조금 길게 나타나는 메시지", Toast.LENGTH_LONG).show();
break;
case R.id.count1:
str="현재 카운트="+count++;
if(mToast==null){mToast.cancel();}
mToast = Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT);
mToast.show();
break;
case R.id.count2:
str="현재 카운트"+count++;
if(mToast==null){
mToast = Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT);
} else {mToast.setText(str);}
mToast.show();
break;
case R.id.customview:
LinearLayout linear = (LinearLayout)View.inflate(MainActivity.this, R.layout.toastview, null);
Toast t2 = new Toast(MainActivity.this);
t2.setView(linear);
t2.show();
break;
}
}
};
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
'Android' 카테고리의 다른 글
출력 - 진동(vibrate) (0) | 2013.03.27 |
---|---|
출력 - 비프음 (0) | 2013.03.27 |
레이아웃 파리미터(Layoutparameter) 변경 (0) | 2013.03.27 |
레이아웃 파라미터(layoutparmeter) (0) | 2013.03.27 |
레이아웃 관리 - 전개(inflation) 실습 (0) | 2013.03.27 |