Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android實現對話框-附一個完整例子

Android實現對話框-附一個完整例子

編輯:關於Android編程

Android其實沒有對話框的概念,有的只是用PopupWindow實現一個對話框的效果。下面給一個完整的例子,及用法。

新建一個PromptWindow類

package com.friendlocation;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class PromptWindow extends PopupWindow
{
	// 列表項
	Activity context;
	View popupView;
	OnBtnClickedListener listener;
	
	public PromptWindow(Activity context, int width, int height)
	{
		super(context);		
		this.context = context;
	
		// 創建
		popupView = context.getLayoutInflater().inflate(R.layout.prompt_window, null);
		Button btnOk = (Button) popupView.findViewById(R.id.btn_ok);
		btnOk.setOnClickListener(new OnClickListener()
		{
			public void onClick(View view)
			{
				if(listener!= null) 
					listener.onBtnOkClicked(PromptWindow.this);
			}			
		});
			// 顯示對話框
		this.setContentView(popupView);
		this.setWidth(width);
		this.setHeight(height);
		setFocusable(true);
		setBackgroundDrawable(context.getResources().getDrawable(R.drawable.shape_menu));
		//setBackgroundDrawable(new BitmapDrawable()); 	
	}
	
	public interface OnBtnClickedListener
	{
		public void onBtnOkClicked(PopupWindow win);
	}
	public void setOnBtnClickedListener(OnBtnClickedListener l)
	{
		listener = l;
	}
}

在res/layout下新建一個布局文件 prompt_window.xml




    

        

        

        

都看懂了沒?

顯示對話框

			PromptWindow win = new PromptWindow(this, 420, 240);
			win.showAtLocation(this.findViewById(R.id.titlebar), Gravity.CENTER, 0, 0);
			// 點擊按鈕時去干什麼
			win.setOnBtnClickedListener(new PromptWindow.OnBtnClickedListener()
			{
				public void onBtnOkClicked(PopupWindow w)
				{					
					w.dismiss();
					//
					Intent intent = new Intent(MainActivity.this, RegisterActivity.class);
					startActivityForResult(intent, 100);
				}				
			});


----------------------------------------------------------------------------------------------------------------------------------

\"極星親友定位": 簡單實用,是一款適用於家人、朋友間的定位軟件,實時查詢對方的位置並以地圖方式展示。非常適合用於家人間使用,少一份擔心,多一份安全保證,能及時知道家人的去向,能避免找不到孩子、老人等情形。

(其實時性、自動特性,可以在很大程度上保證家人遇到危險時不掉鏈子)

不需要對方會使用智能手機,因為軟件可以設置白名單自動回復,不需要對方作任何操作就能獲取對方的位置。
不需要對方打開軟件回復,也不需要事先啟動軟件。

下載位置:360市場(可以用360手機助手下載, 關鍵詞“極星”,“極星親友定位”)

- 雙方只要安裝了本軟件,並打開了GPS功能(一般手機都已經打開了),即輸入對方手機號、查詢位置。
- 可以從通訊錄中選擇聯系人,或從“最近聯系人”菜單中直接選擇。
- 白名單用於指定受信任的聯系人,對他們的查詢請求會自動回復。
- 集成地圖展示功能,如果手機已經安裝了百度地圖軟件,則可以在地圖上展示對方的位置。
- 可以防止誤操作:發送按鈕采用延時反應設計,只有在按下約1秒後才算是確認發送,並以振動和文字提示您發送成功。

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