상세 컨텐츠

본문 제목

[Android]Toast - 01

Android 개발

by mobile 2012. 8. 15. 11:59

본문

반응형

▶ Toast(토스트)

간단한 메시지를 잠깐 보여 주었다가 없어지는 뷰로 애플리케이션 위에 떠 있는 뷰라고 할 수 있습니다. 이것은 대화상자와 함께 사용자에게 필요한 정보를 알려주는 역할을 하는 대표적인 위젯으로 포커스를 받지 않으므로 대화상자보다 더 일반적으로 사용할 수 있으며 디버깅 등의 목적으로 사용될 수 있습니다. 


[code]

Toast.makeText(Context context, String message, int duration)


Context 객체는 일반적으로 Context 클래스를 상속한 액티비티를 사용하게 됩니다. 보여주고 싶은 메시지와 디스플레이 시간을 파라미터로 전달하여 객체를 생성한 후에 show() 메소드를 호출하면 토스트가 화면에 보이게 됩니다.


[code]

public void setGravity(int gravity, int xOffset, int yOffset)

public void setMargin(float horizontalMargin, float verticalMargin


setGravity() 메소드는 토스트 뷰가 보이는 화면 상의 위치를 지정하는데 사용됩니다. 첫 번째 파라미터인 gravity 값은 Gravity.CENTER 와 같이 정렬 위치를 지정합니다. setMargin() 메소드는 외부 여백을 지정하는 것으로 이값을 이용해 토스트를 중앙이나 후측 하단에 배치할 수 있습니다. 


▷ SampleToast.java

import android.app.Activity;

import android.os.Bundle;

import android.view.Gravity;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;


public class SampleToastActivity extends Activity {

EditText edit01; 

    EditText edit02; 

    Button showBtn; 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        

        edit01 = (EditText) findViewById(R.id.edit01); 

        edit02 = (EditText) findViewById(R.id.edit02); 

  

        showBtn = (Button) findViewById(R.id.showBtn);

        showBtn.setOnClickListener(new OnClickListener() { 

            public void onClick(View v) { 

                try { 

                // Toast 객체 생성

                    Toast toastView = Toast.makeText(getApplicationContext(), 

                            "Hello Android!", 

                            Toast.LENGTH_LONG); 

                    // x offset 값 확인  

                    int xOffset = Integer.valueOf(edit01.getText().toString());

                    // y offset 값 확인

                    int yOffset = Integer.valueOf(edit02.getText().toString());

                    

                    // Toast 위치 지정

                    toastView.setGravity(Gravity.CENTER, xOffset, yOffset);   

                    toastView.show(); 

  

                } catch (NumberFormatException e) { 

                    Toast.makeText(getApplicationContext(), e.getMessage(), 

                                Toast.LENGTH_LONG).show(); 

                } 

            } 

        });  

    }

}


▷ main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="vertical" >


    <LinearLayout 

        android:orientation="horizontal"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        >

        <TextView 

            android:id="@+id/text01"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="X offset: "

            android:textSize="20dp"

            />

        <EditText 

            android:id="@+id/edit01"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:hint=""

            android:textSize="20dp"

            android:inputType="numberSigned"

            />

    </LinearLayout>

<LinearLayout 

   android:orientation="horizontal"

   android:layout_width="fill_parent"

   android:layout_height="wrap_content"

   >

   <TextView 

       android:id="@+id/text02"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:text="Y offset: "

       android:textSize="20dp"

       />

   <EditText 

       android:id="@+id/edit02"

       android:layout_width="fill_parent"

       android:layout_height="wrap_content"

       android:hint=""

       android:textSize="20dp"

       android:inputType="numberSigned"

       />

</LinearLayout>

<LinearLayout 

   android:orientation="horizontal"

   android:layout_width="fill_parent"

   android:layout_height="wrap_content"

   >

   <Button 

       android:id="@+id/showBtn"

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:layout_gravity="center"

       android:text=" Show "

       android:textSize="20dp"

       />

</LinearLayout>

</LinearLayout>


▷ 결과


반응형

'Android 개발' 카테고리의 다른 글

[Android]이벤트 - 01  (0) 2012.08.15
[Android]Toast - 02  (0) 2012.08.15
[Android] 리소스와 메니페스트  (0) 2012.08.14
[Android]브로드캐스트 수신자  (0) 2012.08.12
[Andrid] Service 예제  (1) 2012.08.12

관련글 더보기

댓글 영역