본문 바로가기

IT개발일지/Android

[Android]TOAST 알림 CUSTOM 변경하기

이번 포스트는 Android studio 에서 가장 많이 사용한다고 말할수있는

Toast 알림에 관련된 포스팅이다.

Toast 알림의 경우 아래와 같이 많이 사용하곤한다.

Toast.makeText(act, "알림창아떠라!", Toast.LENGTH_SHORT).show();

이 TOAST 알림창을 변형하는 방법을 알아보자.

1. Toast 를 변형할 화면을 구성한다.

<LinearLayout
android:id="@+id/toast_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/system_text_box"
android:gravity="center"
android:text=""
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:textSize="10dp"
android:textColor="@android:color/white"/>
</LinearLayout>

-> 아래 밑줄친 TextView의 배경화면은 사용자 마음대로 넣어주시면됩니다.

 

2. 함수 선언

public void setCustomToast(){
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.layout_custom_toast,(ViewGroup)findViewById(R.id.toast_layout));
TextView text = layout.findViewById(R.id.tv_msg);
Toast toast = new Toast(this);
text.setText("알림창아떠라!");
toast.setGravity(Gravity.BOTTOM,0,160);
toast.setView(layout);
toast.show();
}

->빨간색으로 밑줄친 부분은 Toast 창의 위치를 조정할수있습니다.

아래를 기준으로 X축 Y축을 설정해주는 부분입니다.

예를들어 기준이 되는 LinearLayout 의 중심에 띄우고 싶다고 하시는 분은

toast.setGravity(Gravity.BOTTOM,LinearLayout.getWidth/2,LinearLayout.getHeight/2);

위와 같이 적용해주시면 됩니다!

 

더좋은 정보가 있으신분들은 댓글로 적어주시면 감사드리겠습니다!

 

 

※파트너스 활동을 통해 일정액의 수수료를  제공받을 수 있음※