android中自定義加載的對話框。。。。

1、提供一個 創建對話框的方法

/**
	 * 獲取一個類似加載的對話框
	 * @param context 上下文
	 * @param msg 文字說明
	 * @return 對話框的對象
	 */
	public static Dialog createLoadingDialog(Context context, String msg) {  
		/*
		 * 獲得view填充器對象
		 */
        LayoutInflater inflater = LayoutInflater.from(context); 
        /*
         * 得到加載view
         */
        View v = inflater.inflate(R.layout.loading_dialog, null);
        /*
         * 加載佈局  
         */
        LinearLayout layout = (LinearLayout) v.findViewById(R.id.dialog_view);
        
        /*
         *  main.xml中的ImageView  
         */
//        ImageView spaceshipImage = (ImageView) v.findViewById(R.id.img);  
        TextView tipTextView = (TextView) v.findViewById(R.id.tipTextView);// 提示文字  
        /*
         *  加載動畫  
         */
//        Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(  
//                context, R.anim.loading_animation);  
        /*
         *  使用ImageView顯示動畫  
         */
//        spaceshipImage.startAnimation(hyperspaceJumpAnimation);  
        if(msg != null && !msg.equals("")){
        	tipTextView.setText(msg);// 設置加載信息  
        }
  
        Dialog loadingDialog = new Dialog(context, R.style.loading_dialog);// 創建自定義樣式dialog  
        loadingDialog.setCancelable(true);// 可以用“返回鍵”取消  
        loadingDialog.setCanceledOnTouchOutside(false);//
        loadingDialog.setContentView(layout, new LinearLayout.LayoutParams(  
                LinearLayout.LayoutParams.MATCH_PARENT,  
                LinearLayout.LayoutParams.MATCH_PARENT));// 設置佈局  
        loadingDialog.setOnDismissListener(new OnDismissListener() {
			@Override
			public void onDismiss(DialogInterface dialog) {
				
			}
		});
        
        return loadingDialog;
    }  
 
2、自定義對話框的樣式代碼如下
    <style name="loading_dialog" parent="android:style/Theme.Dialog">  
       <item name="android:windowBackground">@android:color/transparent</item><!--背景透明-->  
       <item name="android:windowFrame">@null</item><!--邊框-->  
       <item name="android:windowNoTitle">true</item><!--無標題-->  
       <item name="android:windowIsFloating">true</item><!--是否浮現在activity之上-->  
       <item name="android:windowIsTranslucent">true</item><!--半透明-->  
       <item name="android:windowContentOverlay">@null</item><!--內容覆蓋 -->  
       <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item><!-- 窗口樣式Dialog -->  
       <item name="android:backgroundDimEnabled">true</item><!--模糊-->
    </style>
3、對話框中圖片的動畫效果
   
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"  
    android:oneshot="false">  <!--是否執行一次 false循環執行-->
    <item android:drawable="@drawable/dialog_loading1" android:duration="100" />  
    <item android:drawable="@drawable/dialog_loading2" android:duration="100" />  
    <item android:drawable="@drawable/dialog_loading3" android:duration="100" />  
    <item android:drawable="@drawable/dialog_loading4" android:duration="100" />  
    <item android:drawable="@drawable/dialog_loading5" android:duration="100" />  
    <item android:drawable="@drawable/dialog_loading6" android:duration="100" />  
    <item android:drawable="@drawable/dialog_loading7" android:duration="100" />  
    <item android:drawable="@drawable/dialog_loading8" android:duration="100" />  
</animation-list>

 
 
4、最後對話框的佈局
   <pre class="html" name="code"><?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:id="@+id/dialog_view"   
    android:orientation="vertical"  
    android:layout_width="150dp"   
    android:layout_height="105dp"
    android:background="@drawable/loading_bg" 
    android:gravity="center"  
    android:layout_gravity="center"
    >  
    <ImageView   
        android:id="@+id/img"  
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"   
        android:src="@anim/dialog_loading" <!--圖片加載 之前設置好的動畫文件-->
        android:layout_gravity="center"
        />  
    <TextView   
        android:id="@+id/tipTextView"  
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"  
        android:layout_marginTop="10dp"
        android:layout_gravity="center"
        android:textColor="@color/white"
        android:text="@string/dialog_loading_text" /> 
         
</LinearLayout>  




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章