수색…


소개

토스트 메시지는 사용자에게 피드백을 제공하는 가장 간단한 방법입니다. 기본적으로 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