Android
토스트 메시지에 대한 싱글 톤 클래스 만들기
수색…
소개
토스트 메시지는 사용자에게 피드백을 제공하는 가장 간단한 방법입니다. 기본적으로 Android는 메시지 및 메시지 기간을 설정할 수있는 회색 색상의 메시지 토스트를 제공합니다. 사용자 정의 및 재사용 가능한 토스트 메시지를 작성해야하는 경우 사용자 정의 레이아웃을 사용하여 직접 구현할 수 있습니다. 더 중요한 것은 우리가 그것을 구현할 때 Singelton 디자인 패턴을 사용하면 커스텀 토스트 메시지 클래스를 유지하고 개발하기가 쉬워 질 것입니다.
통사론
- 토스트 토스트 (컨텍스트 contex)
- void setDuration (int 기간)
- void setGravity (int 중력, int xOffset, int y 오프셋)
- void setView (뷰 뷰)
- void show ()
매개 변수
매개 변수 | 세부 |
---|---|
문맥 | 토스트 메시지를 표시해야하는 관련 컨텍스트입니다. 액티비티에서 this를 사용하면 "this"키워드를 전달하거나, 조각으로 사용하면 "getActivity ()"로 전달합니다. |
전망 | 사용자 정의보기를 작성하고 해당보기 오브젝트를 여기에 전달하십시오. |
중량 | 토스터의 중력 위치를 통과시킵니다. Gravity 클래스 아래 모든 위치가 정적 변수로 추가되었습니다. 가장 일반적인 위치는 Gravity.TOP, Gravity.BOTTOM, Gravity.LEFT, Gravity.RIGHT입니다. |
x 오프셋 | 토스트 메시지의 가로 오프셋입니다. |
y 오프셋 | 토스트 메시지의 수직 오프셋. |
지속 | 토스트 쇼의 기간. Toast.LENGTH_SHORT 또는 TOAST.LENGTH_LONG 중 하나를 설정할 수 있습니다. |
비고
토스트 메시지는 사용자에게 어떤 일이 일어나고 있는지에 대한 피드백을 제공하는 간단한 방법입니다. 피드백을 제공하는보다 고급 방법이 필요하면 대화 상자 또는 스낵바를 사용할 수 있습니다.
건배 메시지에 대한 자세한 내용을 보려면이 설명서를 확인하십시오. https://developer.android.com/reference/android/widget/Toast.html
토스트 마사지를위한 자체 싱글 톤 클래스 만들기
토스트 메시지에 대한 자신의 싱글 톤 클래스를 만드는 방법입니다. 응용 프로그램이 성공 사례, 경고 및 다양한 유스 케이스에 대한 위험 메시지를 표시해야하는 경우이 클래스를 자신의 사양에 맞게 수정 한 후에 사용할 수 있습니다.
public class ToastGenerate {
private static ToastGenerate ourInstance;
public ToastGenerate (Context context) {
this.context = context;
}
public static ToastGenerate getInstance(Context context) {
if (ourInstance == null)
ourInstance = new ToastGenerate(context);
return ourInstance;
}
//pass message and message type to this method
public void createToastMessage(String message,int type){
//inflate the custom layout
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout toastLayout = (LinearLayout) layoutInflater.inflate(R.layout.layout_custome_toast,null);
TextView toastShowMessage = (TextView) toastLayout.findViewById(R.id.textCustomToastTopic);
switch (type){
case 0:
//if the message type is 0 fail toaster method will call
createFailToast(toastLayout,toastShowMessage,message);
break;
case 1:
//if the message type is 1 success toaster method will call
createSuccessToast(toastLayout,toastShowMessage,message);
break;
case 2:
createWarningToast( toastLayout, toastShowMessage, message);
//if the message type is 2 warning toaster method will call
break;
default:
createFailToast(toastLayout,toastShowMessage,message);
}
}
//Failure toast message method
private final void createFailToast(LinearLayout toastLayout,TextView toastMessage,String message){
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.button_alert_normal));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context,toastLayout);
}
//warning toast message method
private final void createWarningToast( LinearLayout toastLayout, TextView toastMessage, String message) {
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.warning_toast));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context, toastLayout);
}
//success toast message method
private final void createSuccessToast(LinearLayout toastLayout,TextView toastMessage,String message){
toastLayout.setBackgroundColor(context.getResources().getColor(R.color.success_toast));
toastMessage.setText(message);
toastMessage.setTextColor(context.getResources().getColor(R.color.white));
showToast(context,toastLayout);
}
private void showToast(View view){
Toast toast = new Toast(context);
toast.setGravity(Gravity.TOP,0,0); // show message in the top of the device
toast.setDuration(Toast.LENGTH_SHORT);
toast.setView(view);
toast.show();
}
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow