Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android UI組件進階(2)——仿Windows對話框

Android UI組件進階(2)——仿Windows對話框

編輯:關於Android編程

Android UI組件進階(2)——仿Windows對話框


在開始本章前先祝大家中秋節快樂哈,相信很多上班的朋友都是放三天假的哈!大笑

有時間的話回家陪陪父母吧!樹欲靜而風不止,子欲養而親不待!歲月不饒人!

好了,道理和祝福語就說到這裡了,今天給大家准備的是模仿Windows風格對話框!


效果圖:

相信大部分的AlertDialog都是下面這個樣子的:

\


今天給大家講解的對話框是下面這樣的:

\


對比兩種對話框,站在用戶的角度,相信你更加鐘情於第二種顏色鮮明的對話框

好了下面就開始講解如何制作模仿windows風格的對話框吧!



<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGJyPgo8L3A+CjxoMT60+sLrtcTC37ytwfezzDo8L2gxPgo8cD48c3Ryb25nPsbkyrW+zcrH19S2qNLlttS7sL/ytcSyvL7WLMi7uvO809TY0tS8sM3qs8nP4NOmtcTKwrz+tKbA7bb40tGjoTwvc3Ryb25nPjwvcD4KPHA+PGltZyBzcmM9"/uploadfile/Collfiles/20140906/201409060835017.jpg" alt="\">



核心代碼解析:

①按鈕點擊效果:btnexit_selctor.xml



    
	



②對話框的布局文件:dialog_win.xml




    

        
        
        
    
    
   

    

        

        
    
    
     
        
     



③MainActivity.java

package com.jay.example.windowsdialogdemo;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;

import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.Toast;

public class MainActivity extends Activity {

	private Button btnshow;
	private View dialogView;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		btnshow = (Button) findViewById(R.id.btnshow);
		btnshow.setOnClickListener(new OnClickListener() {	
			@Override
			public void onClick(View v) {
				
				Builder builder = myBuilder(MainActivity.this);
				final AlertDialog dialog = builder.show();
				//設置點擊屏幕外側,對話框不消失,不設置的話點外面對話框就會消失
				dialog.setCanceledOnTouchOutside(false);
				//接著要監聽對話框中的三個按鈕:
				//①關閉對話框的按鈕:
				ImageButton imgcancle = (ImageButton) dialogView.findViewById(R.id.btncancle);
				imgcancle.setOnClickListener(new OnClickListener() {	
					@Override
					public void onClick(View v) {
						dialog.dismiss();
					}
				});
				
				//①鏈接到博客的按鈕
				Button btnblob = (Button) dialogView.findViewById(R.id.btnblog);
				btnblob.setOnClickListener(new OnClickListener() {	
					@Override
					public void onClick(View v) {
						Toast.makeText(getApplicationContext(), "訪問博客", Toast.LENGTH_SHORT).show();
						Uri uri = Uri.parse("http://blog.csdn.net/coder_pig");
						Intent intent = new Intent(Intent.ACTION_VIEW, uri);
						startActivity(intent);
						dialog.dismiss();	
					}
				});
				
				//③點擊退出的按鈕:
				Button btnclose = (Button) dialogView.findViewById(R.id.btnclose);
				btnclose.setOnClickListener(new OnClickListener() {

					public void onClick(View v) {
						dialog.dismiss();
					}
				});
			}

			
			//定義一個返回Builder對象的方法,其實這裡是設置對話框顯示view內容的方法
			private Builder myBuilder(Context context) {
				final LayoutInflater inflater = MainActivity.this.getLayoutInflater();
				AlertDialog.Builder builder = new AlertDialog.Builder(context);
				dialogView = inflater.inflate(R.layout.dialog_win, null);
				return builder.setView(dialogView);
			}	
		});
	}
	
}



實例代碼下載:

http://pan.baidu.com/s/1jGone5o















  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved