리얼라이져의 마케팅, 개발, 창업 블로그

안드로이드 토스트 메세지 띄우기 본문

IT/안드로이드

안드로이드 토스트 메세지 띄우기

nadadhl 2019. 3. 27. 20:56
728x90

 

 

 

가끔  여러 어플리케이션을  사용하다보면,  위  사진 처럼  회색 배경의 작은 메세지가 보였다가  곧 사라지곤 한다.

저것이 바로 "토스트 메세지이다.".

토스트 메세지는 보통  사용자가  어플리케이션에서  특정행위를 할때,  심플하게 피드백을 주기위해서 많이 사용한다.

 

 

 

오늘은  토스트 메세지를 사용하는  법에 대해서  간단하게 알아보겠다.

 

우선,  아래는 기본적으로 사용하는  코드 이다.

1
Toast.makeText(getApplicationContext(),"토스트에 들어가는 내용",Toast.LENGTH_LONG).show();

토스트를  구성하기 위해서 makeText 함수 안에 아래  세가지를 넣어주면된다.

1.Context ->  여기서는 getApplicationContext()로  사용.

2.토스트 메세지로  보여질 텍스트.

3.토스트가  보일  시간의 길이   =>  LENGTH_LONG은  약 3.5초 ,  LENGTH_SHORT는 약 2초 정도 된다.

 

그리고 마지막으로  show()함수를  넣어주면  토스트가  보여진다.

 

 

 

위의  같은 경우에는  토스트를 객체 선언 하지 않고  함수들을 chain형식으로 묶어서  간단하게  나타낸  형식이다.

 

만약  토스트를  객체로 선언하여  사용하게 되면,  토스트 메세지에 더 많은 설정을 할수가 있게된다.

아래는  토스트를  객체로 선언하여  사용할때이다.

1
2
3
4
5
6
7
8
9
 
Context context = getApplicationContext();//콘텍스트
CharSequence text = "Hello toast!";//텍스트
int duration = Toast.LENGTH_SHORT;//토스트  보이는 시간
 
Toast toast = Toast.makeText(context, text, duration); //토스트 객체 선언.
toast.setGravity(Gravity.CENTER,0,0);//토스트  나오는 위치  선정
toast.setDuration(duration);
toast.show();
 
cs

위에서는  토스트를 객체로 선언하고,  토스트가  띄어지는  위치를  조정해보았다.

저런것 이외에도   토스트를  커스톰하여서  내 입맛에 맛게  디자인을  바꾸는 경우 등등의 경우에서는  

토스트를 객체로 선언하여 사용하여야 한다.

(커스톰화된   토스트  사용하는 방법은  따로  만들어 올리도록 하겠다!)

 

 

 

 

 

아래는  버튼을 눌렀을때,   기본 토스트 메세지가 나오게 하는  전체 코드이다.

 

 

<xml코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
 
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="228dp"
 
        android:layout_marginEnd="8dp"
        android:gravity="center"
        android:text="@string/basictoast"
 
        android:textSize="20sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
 
    <Button
        android:id="@+id/button"
        android:layout_width="114dp"
        android:layout_height="65dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginBottom="8dp"
        android:text="기존 토스트"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView"
        app:layout_constraintVertical_bias="0.252" />
</android.support.constraint.ConstraintLayout>
 
cs

 

 

<자바 코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class MainActivity extends AppCompatActivity {
 
    Button toastmessage;//토스트  메세지 띄우기 버튼
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        toastmessage=(Button)findViewById(R.id.button);//버튼  선언
        
        //버튼 클릭 이벤트
        toastmessage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
               Toast.makeText(getApplicationContext(),"하이",Toast.LENGTH_LONG).show();
               
            }//on click  종료
          });//버튼 클릭 리스너
       }//on create 끝
 
 
    //기기  back버튼을  눌렀을때
    @Override
    public void onBackPressed() {
        super.onBackPressed();
 
        finish();//엑티비티가 종료된다.
        
    }//onBackPressed 끝
}//Mainactivity 끝
 
 
cs

 

<결과 물>

 

 

 

 

 

   끝~                   

 

개발자가 되기 위해  공부 중인  비전공자  학생입니다. 
아직 부족하여,  부족하거나  틀린 내용이 있을수 있으니, 
그부분에 대해서  생각을  댓글로 공유해주시면 

감사하겠습니다.^^
      
Comments