투케이2K

22. (AndroidStudio/android/java) 커스텀 Toast 토스트 메시지 만들기 및 위치 지정 실시 본문

Android

22. (AndroidStudio/android/java) 커스텀 Toast 토스트 메시지 만들기 및 위치 지정 실시

투케이2K 2021. 1. 27. 14:23

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : AndroidStudio

개발 언어 : java

/* =========================== */

/* =========================== */

[소스 코드]

 

//====== [커스텀 토스트 메시지 호출] ======
Toast_Nomal("커스텀 메시지");


//====== [커스텀 토스트 메시지 생성 메소드] ======
public void Toast_Nomal(String message){
	LayoutInflater inflater = getLayoutInflater();
	View layout = inflater.inflate(R.layout.custom_normal_toast, (ViewGroup)findViewById(R.id.toast_layout));
	TextView toast_textview  = layout.findViewById(R.id.toast_textview);
	toast_textview.setText(String.valueOf(message));
	Toast toast = new Toast(getApplicationContext());
	//toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); //TODO 메시지가 표시되는 위치지정 (가운데 표시)
	//toast.setGravity(Gravity.TOP, 0, 0); //TODO 메시지가 표시되는 위치지정 (상단 표시)
	//toast.setGravity(Gravity.BOTTOM, 0, 0); //TODO 메시지가 표시되는 위치지정 (하단 표시)
	toast.setDuration(Toast.LENGTH_SHORT); //메시지 표시 시간
	toast.setView(layout);
	toast.show();
}


//====== [custom_normal_toast.xml 파일] ======
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toast_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/toast_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="15dp"
        android:textStyle="bold"
        android:textColor="#ffffff"
        android:background="@drawable/custom_normal_toast_bg" />

</LinearLayout>


//====== [custom_normal_toast_bg.xml 파일] ======
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <!-- 테두리 부분 -->
    <stroke
        android:width="3dp"
        android:color="#0066cc" />

    <!-- 배경색 부분 -->
    <solid
        android:color="#0099cc" />

    <!-- 패팅 부분 -->
    <padding
        android:left="20dp"
        android:bottom="20dp"
        android:right="20dp"
        android:top="20dp" />

    <!-- 테두리 모서리 부분 둥글게 설정 -->
    <corners
        android:radius="20dp" />

</shape>

/* =========================== */

/* =========================== */​

[결과 출력]

/* =========================== */

/* =========================== */

[요약 설명]

/**

* 1. setGravity - 위치 지정 실시

* 2. setDuration - 표시 시간 지정

*/

/* =========================== */

반응형
Comments