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>
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.}
留言列表