/* * Copyright (C) 2012 www.amsoft.cn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.yzy.supercleanmaster.dialogs; import android.app.Fragment; import android.app.FragmentTransaction; import android.content.Context; import android.support.v4.app.FragmentActivity; import android.view.View; import com.yzy.supercleanmaster.utils.ViewUtil; public class DialogUtil { /** dialog tag */ private static String mDialogTag = "dialog"; /** * 描述:对话框dialog (图标,标题,String内容). * @param context * @param icon * @param title 对话框标题内容 * */ public static AlertDialogFragment showAlertDialog(Context context,int icon,String title,String message) { FragmentActivity activity = (FragmentActivity)context; AlertDialogFragment newFragment = AlertDialogFragment.newInstance(icon,title,message,null,null); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 显示一个一般的对话框(图标,标题,string内容,确认,取消). * @param context * @param icon * @param title 对话框标题内容 * @param message 对话框提示内容 * @param onClickListener 点击确认按钮的事件监听 */ public static AlertDialogFragment showAlertDialog(Context context,int icon,String title,String message,AlertDialogFragment.DialogOnClickListener onClickListener) { FragmentActivity activity = (FragmentActivity)context; AlertDialogFragment newFragment = AlertDialogFragment.newInstance(icon,title,message,null,onClickListener); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 显示一个一般的对话框(标题,String内容,确认,取消). * @param context * @param title 对话框标题内容 * @param message 对话框提示内容 * @param onClickListener 点击确认按钮的事件监听 */ public static AlertDialogFragment showAlertDialog(Context context,String title,String message,AlertDialogFragment.DialogOnClickListener onClickListener) { FragmentActivity activity = (FragmentActivity)context; AlertDialogFragment newFragment = AlertDialogFragment.newInstance(0,title,message,null,onClickListener); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 显示一个一般的对话框(View内容). * @param view 对话框标题内容 */ public static AlertDialogFragment showAlertDialog(View view) { FragmentActivity activity = (FragmentActivity)view.getContext(); AlertDialogFragment newFragment = AlertDialogFragment.newInstance(0,null,null,view,null); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 显示一个一般的对话框(String内容). * @param context * */ public static AlertDialogFragment showAlertDialog(Context context,String message) { FragmentActivity activity = (FragmentActivity)context; AlertDialogFragment newFragment = AlertDialogFragment.newInstance(0,null,message,null,null); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 描述:对话框dialog (图标,标题,View内容). * @param icon * @param title 对话框标题内容 * @param view 对话框提示内容 */ public static AlertDialogFragment showAlertDialog(int icon,String title,View view) { FragmentActivity activity = (FragmentActivity)view.getContext(); AlertDialogFragment newFragment = AlertDialogFragment.newInstance(icon,title,null,view,null); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 显示一个一般的对话框(图标,标题,View内容,确认,取消). * @param icon * @param title 对话框标题内容 * @param view 对话框提示内容 * @param onClickListener 点击确认按钮的事件监听 */ public static AlertDialogFragment showAlertDialog(int icon,String title,View view,AlertDialogFragment.DialogOnClickListener onClickListener) { FragmentActivity activity = (FragmentActivity)view.getContext(); AlertDialogFragment newFragment = AlertDialogFragment.newInstance(icon,title,null,view,onClickListener); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 描述:对话框dialog (标题,View内容). * @param title 对话框标题内容 * @param view 对话框提示内容 */ public static AlertDialogFragment showAlertDialog(String title,View view) { FragmentActivity activity = (FragmentActivity)view.getContext(); AlertDialogFragment newFragment = AlertDialogFragment.newInstance(0,title,null,view,null); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 显示一个一般的对话框(标题,View内容,确认,取消). * @param title 对话框标题内容 * @param view 对话框提示内容 * @param onClickListener 点击确认按钮的事件监听 */ public static AlertDialogFragment showAlertDialog(String title,View view,AlertDialogFragment.DialogOnClickListener onClickListener) { FragmentActivity activity = (FragmentActivity)view.getContext(); AlertDialogFragment newFragment = AlertDialogFragment.newInstance(0,title,null,view,onClickListener); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 描述:对话框dialog (标题,String内容). * @param context * @param title 对话框标题内容 * */ public static AlertDialogFragment showAlertDialog(Context context,String title,String message) { FragmentActivity activity = (FragmentActivity)context; AlertDialogFragment newFragment = AlertDialogFragment.newInstance(0,title,message,null,null); FragmentTransaction ft = activity.getFragmentManager().beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 描述:显示进度框. * * @param context * the context * @param indeterminateDrawable * 用默认请写0 * @param message * the message */ public static ProgressDialogFragment showProgressDialog(Context context, int indeterminateDrawable, String message) { FragmentActivity activity = (FragmentActivity) context; ProgressDialogFragment newFragment = ProgressDialogFragment .newInstance(indeterminateDrawable, message); FragmentTransaction ft = activity.getFragmentManager() .beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); newFragment.show(ft, mDialogTag); return newFragment; } /** * 描述:移除Fragment. * * @param context * the context */ public static void removeDialog(Context context) { try { FragmentActivity activity = (FragmentActivity) context; FragmentTransaction ft = activity.getFragmentManager() .beginTransaction(); // 指定一个系统转场动画 ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE); Fragment prev = activity.getFragmentManager().findFragmentByTag( mDialogTag); if (prev != null) { ft.remove(prev); } ft.addToBackStack(null); ft.commit(); } catch (Exception e) { // 可能有Activity已经被销毁的异常 e.printStackTrace(); } } /** * 描述:移除Fragment和View * * @param view */ public static void removeDialog(View view) { removeDialog(view.getContext()); ViewUtil.removeSelfFromParent(view); } }