본문 바로가기
안드로이드 자바

[Android][Java] 토스트 메시지 꾸미기 2

by teamnova 2023. 1. 23.
728x90

안녕하세요.

오늘은 저번 시간에 이어 토스트 메시지 꾸미기 두번째입니다.

저번에는 MotionToast라는 라이브러리를 사용해 토스트를 꾸며보았는데요.

이번 시간에는

https://github.com/Muddz/StyleableToast

 

GitHub - Muddz/StyleableToast: [Moved to MavenCentral] An Android library that takes the standard toast to the next level with m

[Moved to MavenCentral] An Android library that takes the standard toast to the next level with many styling options. Works on all Android versions. - GitHub - Muddz/StyleableToast: [Moved to Maven...

github.com

위 링크의 styleableToast라는 라이브러리를 사용해 토스트를 꾸미는 방법에 대해 알아보겠습니다.

 

먼저 gradle에 라이브러리를 등록해줍니다.

 

build.gradle(Module:프로젝트명:app)
dependencies 괄호 안에 아래 코드를 넣어주시면 됩니다.

implementation 'io.github.muddz:styleabletoast:2.4.0'

다음으로 레이아웃(xml 파일) 입니다.

 

styleable_toast.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerInParent="true"
        android:text="toast"
        android:id="@+id/show_toast_btn"/>

</RelativeLayout>

토스트 메시지를 띄울 수 있는 버튼이 있는 레이아웃 파일입니다.

 

다음으로 java 파일을 보기 전에 토스트에 포함될 아래의 두가지 파일을 다운 받아서 

res -> drawable 폴더 안에 넣어주세요.

ic_arrow_circle_left.xml
0.00MB
ic_arrow_circle_right.xml
0.00MB

이제 java 파일을 보겠습니다.

 

StyleableToastActivity.java

import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import io.github.muddz.styleabletoast.StyleableToast;

public class StyleableToastActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.styleable_toast);

        Button showToastBtn = findViewById(R.id.show_toast_btn);
        showToastBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                Context context = StyleableToastActivity.this;

                new StyleableToast.Builder(context)
                        .text("Hello Android") //텍스트 설정
                        .textColor(Color.WHITE) //텍스트 색깔
                        .textSize(25)// 텍스트 크기
                        .backgroundColor(Color.parseColor("#BBDEFB")) //바탕색깔
                        .stroke(5, Color.parseColor("#1E88E5")) //테두리 굵기,테두리 색깔
                        .iconStart(R.drawable.ic_arrow_circle_left) //앞 아이콘
                        .iconEnd(R.drawable.ic_arrow_circle_right) // 뒤 아이콘
                        .length(Toast.LENGTH_SHORT) // 지속 시간
                        .cornerRadius(50) // 테두리 라운딩
                        .textBold() // 굵게
                        .show();
            }

        });

    }//onCreate

} //StyleableToastActivity.java

버튼을 클릭하면 StyleableToast Builder로 토스트메시지를 생성 후 보여주는 코드 입니다.

토스트 메시지의 설정값 내용은 아래와 같습니다.

 

 text: 텍스트 설정

 textColor: 텍스트 색깔

 backgroundColor: 바탕색깔

 stroke: 테두리 굵기, 테두리 색깔

 iconStart: 앞 아이콘

 iconEnd: 뒤 아이콘

 length: 메시지의 지속 시간(LENGTH_SHORT, LENGTH_LONG)

 textBold: 텍스트 굵게

 show: 보여주기

 

실행화면 입니다.

보시다시피 버튼을 누를때마다 라이브러리를 사용해 꾸민 토스트 메시지가 출력되는 것을 확인할 수 있습니다.

 

오늘 준비한 내용은 여기까지 입니다.

궁금한 점은 댓글로 남겨주세요.

감사합니다!