view plaincopy to clipboardprint
01.<?xml version="1.0" encoding="utf-8"?>  
02.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android 
03.    android:orientation="vertical"  
04.    android:layout_width="fill_parent"  
05.    android:layout_height="fill_parent"  
06.    >  
07.<Button android:id="@+id/Button01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="PopupWindow演示"></Button>  
08.</LinearLayout>  
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button android:id="@+id/Button01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="PopupWindow演示"></Button>
</LinearLayout>

 

a123.jpg  

popupwindow.xml的程式碼:

view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="utf-8"?>  
02.  
03.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android 
04.    android:layout_width="fill_parent" android:layout_height="wrap_content"  
05.    android:orientation="vertical" android:background="#000000">  
06.  
07.    <TextView android:id="@+id/username_view"  
08.        android:layout_height="wrap_content"  
09.        android:layout_marginLeft="20dip"  
10.        android:layout_marginRight="20dip" android:text="用户名"  
11.        android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="fill_parent"/>  
12.  
13.    <EditText android:id="@+id/username_edit"  
14.        android:layout_height="wrap_content"  
15.        android:layout_width="fill_parent" android:layout_marginLeft="20dip"  
16.        android:layout_marginRight="20dip" android:capitalize="none"  
17.        android:textAppearance="?android:attr/textAppearanceMedium" />  
18.  
19.    <TextView android:id="@+id/password_view"  
20.        android:layout_height="wrap_content"  
21.        android:layout_marginLeft="20dip"  
22.        android:layout_marginRight="20dip" android:text="密碼"  
23.        android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="fill_parent"/>  
24.  
25.    <EditText android:id="@+id/password_edit"  
26.        android:layout_height="wrap_content"  
27.        android:layout_width="fill_parent" android:layout_marginLeft="20dip"  
28.        android:layout_marginRight="20dip" android:capitalize="none"  
29.        android:password="true"  
30.        android:textAppearance="?android:attr/textAppearanceMedium" />  
31.  
32.<LinearLayout android:id="@+id/LinearLayout01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center"><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/BtnOK" android:layout_weight="100" android:text="確定"></Button><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="100" android:text="取消" android:id="@+id/BtnCancel"></Button></LinearLayout 
33.</LinearLayout>  
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:background="#000000">
<TextView android:id="@+id/username_view"
  android:layout_height="wrap_content"
  android:layout_marginLeft="20dip"
  android:layout_marginRight="20dip" android:text="用户名"
  android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="fill_parent"/>
<EditText android:id="@+id/username_edit"
  android:layout_height="wrap_content"
  android:layout_width="fill_parent" android:layout_marginLeft="20dip"
  android:layout_marginRight="20dip" android:capitalize="none"
  android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView android:id="@+id/password_view"
  android:layout_height="wrap_content"
  android:layout_marginLeft="20dip"
  android:layout_marginRight="20dip" android:text="密碼"
  android:textAppearance="?android:attr/textAppearanceMedium" android:layout_width="fill_parent"/>
<EditText android:id="@+id/password_edit"
  android:layout_height="wrap_content"
  android:layout_width="fill_parent" android:layout_marginLeft="20dip"
  android:layout_marginRight="20dip" android:capitalize="none"
  android:password="true"
  android:textAppearance="?android:attr/textAppearanceMedium" />
<LinearLayout android:id="@+id/LinearLayout01" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center"><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/BtnOK" android:layout_weight="100" android:text="確定"></Button><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="100" android:text="取消" android:id="@+id/BtnCancel"></Button></LinearLayout>
</LinearLayout>

 

*.java的程式碼:

view plaincopy to clipboardprint?
01.package com.testAlertDialog;   
02.  
03.import android.app.Activity;   
04.import android.app.AlertDialog;   
05.import android.content.Context;   
06.import android.content.DialogInterface;   
07.import android.os.Bundle;   
08.import android.text.Editable;   
09.import android.view.Gravity;   
10.import android.view.LayoutInflater;   
11.import android.view.View;   
12.import android.view.View.OnClickListener;   
13.import android.widget.Button;   
14.import android.widget.EditText;   
15.import android.widget.PopupWindow;   
16.  
17.  
18.public class testAlertDialog extends Activity {   
19.    Button btnPopupWindow;   
20.    /** Called when the activity is first created. */  
21.    @Override  
22.    public void onCreate(Bundle savedInstanceState) {   
23.        super.onCreate(savedInstanceState);   
24.        setContentView(R.layout.main);   
25.        //定義按钮   
26.        btnPopupWindow=(Button)this.findViewById(R.id.Button01);   
27.        btnPopupWindow.setOnClickListener(new ClickEvent());   
28.    }   
29.       
30.       
31.    //統一處理按键事件   
32.    class ClickEvent implements OnClickListener{   
33.  
34.        @Override  
35.        public void onClick(View v) {   
36.            // TODO Auto-generated method stub   
37.            if(v==btnPopupWindow)   
38.            {   
39.                showPopupWindow(testAlertDialog.this,   
40.                        testAlertDialog.this.findViewById(R.id.Button01));   
41.            }   
42.        }   
43.    }   
44.  
45.    public void showPopupWindow(Context context,View parent){   
46.        LayoutInflater inflater = (LayoutInflater)      
47.           context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);      
48.        final View vPopupWindow=inflater.inflate(R.layout.popupwindow, null, false);   
49.        final PopupWindow pw= new PopupWindow(vPopupWindow,300,300,true);   
50.  
51.        //OK按钮及其處理事件   
52.        Button btnOK=(Button)vPopupWindow.findViewById(R.id.BtnOK);   
53.        btnOK.setOnClickListener(new OnClickListener(){   
54.            @Override  
55.            public void onClick(View v) {   
56.                //設置文字框內容   
57.                EditText edtUsername=(EditText)vPopupWindow.findViewById(R.id.username_edit);   
58.                edtUsername.setText("username");   
59.                EditText edtPassword=(EditText)vPopupWindow.findViewById(R.id.password_edit);   
60.                edtPassword.setText("password");   
61.            }   
62.        });   
63.           
64.      //Cancel按鈕及其處理事件 
65.        Button btnCancel=(Button)vPopupWindow.findViewById(R.id.BtnCancel);   
66.        btnCancel.setOnClickListener(new OnClickListener(){   
67.            @Override  
68.            public void onClick(View v) {   
69.                pw.dismiss();//關閉   
70.            }   
71.        });   
72.        //顯popupWindow對話框   
73.        pw.showAtLocation(parent, Gravity.CENTER, 0, 0);   
74.    }   
75.       
76.}

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()