본문 바로가기

Android

출력 - 토스트(Toast)

토스트(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