首页 > 代码库 > android 对话框
android 对话框
main.xml //主布局文件
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:gravity="center_horizontal"> 7 <!-- 显示一个普通的文本编辑框组件 --> 8 <EditText 9 android:id="@+id/show"10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:editable="false"/>13 <!-- 定义一个普通的按钮组件 -->14 <Button15 android:layout_width="match_parent" 16 android:layout_height="wrap_content" 17 android:text="简单对话框"18 android:onClick="simple"19 />20 <!-- 定义一个普通的按钮组件 -->21 <Button22 android:layout_width="match_parent" 23 android:layout_height="wrap_content" 24 android:text="简单列表项对话框"25 android:onClick="simpleList"26 /> 27 <!-- 定义一个普通的按钮组件 -->28 <Button29 android:layout_width="match_parent" 30 android:layout_height="wrap_content" 31 android:text="单选列表项对话框"32 android:onClick="singleChoice"33 /> 34 <!-- 定义一个普通的按钮组件 -->35 <Button36 android:layout_width="match_parent" 37 android:layout_height="wrap_content" 38 android:text="多选列表项对话框"39 android:onClick="multiChoice"40 /> 41 <!-- 定义一个普通的按钮组件 -->42 <Button43 android:layout_width="match_parent" 44 android:layout_height="wrap_content" 45 android:text="自定义列表项对话框"46 android:onClick="customList"47 /> 48 <!-- 定义一个普通的按钮组件 -->49 <Button50 android:layout_width="match_parent" 51 android:layout_height="wrap_content" 52 android:text="自定义View对话框"53 android:onClick="customView"54 /> 55 </LinearLayout>
login.xml 登录对话框的布局文件
1 <?xml version="1.0" encoding="utf-8"?> 2 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@+id/loginForm" 4 android:orientation="vertical" 5 android:layout_width="fill_parent" 6 android:layout_height="fill_parent" 7 > 8 <TableRow> 9 <TextView10 android:layout_width="fill_parent"11 android:layout_height="wrap_content"12 android:text="用户名:"13 android:textSize="10pt"14 />15 <!-- 输入用户名的文本框 -->16 <EditText17 android:id="@+id/loginName"18 android:layout_width="fill_parent"19 android:layout_height="wrap_content"20 android:hint="请填写登录帐号"21 android:selectAllOnFocus="true"22 />23 </TableRow>24 <TableRow>25 <TextView26 android:layout_width="fill_parent"27 android:layout_height="wrap_content"28 android:text="密码:"29 android:textSize="10pt" 30 />31 <!-- 输入密码的文本框 --> 32 <EditText33 android:id="@+id/password"34 android:layout_width="fill_parent"35 android:layout_height="wrap_content"36 android:hint="请填写密码" 37 android:password="true"38 />39 </TableRow>40 <TableRow>41 <TextView42 android:layout_width="fill_parent"43 android:layout_height="wrap_content"44 android:text="电话号码:"45 android:textSize="10pt" 46 />47 <!-- 输入电话号码的文本框 --> 48 <EditText49 android:id="@+id/tel"50 android:layout_width="fill_parent"51 android:layout_height="wrap_content"52 android:hint="请填写您的电话号码"53 android:selectAllOnFocus="true"54 android:phoneNumber="true"55 />56 </TableRow>57 </TableLayout>
array_item.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <TextView xmlns:android="http://schemas.android.com/apk/res/android" 3 android:id="@+id/TextView" 4 android:textColor="#f0f" 5 android:textSize="30dp" 6 android:shadowColor="#ff0" 7 android:shadowRadius="2" 8 android:shadowDx="5" 9 android:shadowDy="5"10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" />
AlertDialogTest.java 1 ** 2 * Description:
3 * <br/>site: <a href="http://www.crazyit.org">crazyit.org</a> 4 * <br/>Copyright (C), 2001-2014, Yeeku.H.Lee 5 * <br/>This program is protected by copyright laws. 6 * <br/>Program Name: 7 * <br/>Date: 8 * @author Yeeku.H.Lee kongyeeku@163.com 9 * @version 1.0 10 */ 11 public class AlertDialogTest extends Activity 12 { 13 TextView show; 14 String[] items = new String[] { 15 "疯狂Java讲义", "疯狂Ajax讲义", 16 "轻量级Java EE企业应用实战", 17 "疯狂Android讲义" }; 18 @Override 19 public void onCreate(Bundle savedInstanceState) 20 { 21 super.onCreate(savedInstanceState); 22 setContentView(R.layout.main); 23 show = (TextView) findViewById(R.id.show); 24 } 25 26 public void simple(View source) 27 { 28 AlertDialog.Builder builder = new AlertDialog.Builder(this) 29 // 设置对话框标题 30 .setTitle("简单对话框") 31 // 设置图标 32 .setIcon(R.drawable.tools) 33 .setMessage("对话框的测试内容\n第二行内容"); 34 // 为AlertDialog.Builder添加【确定】按钮 35 setPositiveButton(builder); 36 // 为AlertDialog.Builder添加【取消】按钮 37 setNegativeButton(builder) 38 .create() 39 .show(); 40 } 41 42 public void simpleList(View source) 43 { 44 AlertDialog.Builder builder = new AlertDialog.Builder(this) 45 // 设置对话框标题 46 .setTitle("简单列表项对话框") 47 // 设置图标 48 .setIcon(R.drawable.tools) 49 // 设置简单的列表项内容 50 .setItems(items, new OnClickListener() 51 { 52 @Override 53 public void onClick(DialogInterface dialog, int which) 54 { 55 show.setText("你选中了《" + items[which] + "》"); 56 } 57 }); 58 // 为AlertDialog.Builder添加【确定】按钮 59 setPositiveButton(builder); 60 // 为AlertDialog.Builder添加【取消】按钮 61 setNegativeButton(builder) 62 .create() 63 .show(); 64 } 65 66 public void singleChoice(View source) 67 { 68 AlertDialog.Builder builder = new AlertDialog.Builder(this) 69 // 设置对话框标题 70 .setTitle("单选列表项对话框") 71 // 设置图标 72 .setIcon(R.drawable.tools) 73 // 设置单选列表项,默认选中第二项(索引为1) 74 .setSingleChoiceItems(items, 1, new OnClickListener() 75 { 76 @Override 77 public void onClick(DialogInterface dialog, int which) 78 { 79 show.setText("你选中了《" + items[which] + "》"); 80 } 81 }); 82 // 为AlertDialog.Builder添加【确定】按钮 83 setPositiveButton(builder); 84 // 为AlertDialog.Builder添加【取消】按钮 85 setNegativeButton(builder) 86 .create() 87 .show(); 88 } 89 public void multiChoice(View source) 90 { 91 AlertDialog.Builder builder = new AlertDialog.Builder(this) 92 // 设置对话框标题 93 .setTitle("多选列表项对话框") 94 // 设置图标 95 .setIcon(R.drawable.tools) 96 // 设置多选列表项,设置勾选第2项、第4项 97 .setMultiChoiceItems(items 98 , new boolean[]{false , true ,false ,true}, new OnMultiChoiceClickListener() { 99 100 public void onClick(DialogInterface dialog, int which, boolean isChecked) {
//which 代表第几个 isChecked代表是否选中
101 Toast.makeText(getApplicationContext(), "你选中了《"+items[which]+"》", Toast.LENGTH_LONG).show();102 103 }104 });105 // 为AlertDialog.Builder添加【确定】按钮106 setPositiveButton(builder);107 // 为AlertDialog.Builder添加【取消】按钮108 setNegativeButton(builder)109 .create()110 .show();111 }112 public void customList(View source)113 {114 AlertDialog.Builder builder = new AlertDialog.Builder(this)115 // 设置对话框标题116 .setTitle("自定义列表项对话框")117 // 设置图标118 .setIcon(R.drawable.tools)119 // 设置自定义列表项120 .setAdapter(new ArrayAdapter<String>(this 121 , R.layout.array_item 122 , items), new OnClickListener() {123 124 @Override125 public void onClick(DialogInterface dialog, int which) {126 Toast.makeText(getApplicationContext(), items[which], Toast.LENGTH_SHORT).show();127 128 }129 });130 // 为AlertDialog.Builder添加【确定】按钮131 setPositiveButton(builder);132 // 为AlertDialog.Builder添加【取消】按钮133 setNegativeButton(builder)134 .create()135 .show();136 }137 138 public void customView(View source)139 {140 //装载/res/layout/login.xml界面布局141 final TableLayout loginForm = (TableLayout)getLayoutInflater()142 .inflate( R.layout.login, null); 143 new AlertDialog.Builder(this)144 // 设置对话框的图标145 .setIcon(R.drawable.tools)146 // 设置对话框的标题147 .setTitle("自定义View对话框")148 // 设置对话框显示的View对象149 .setView(loginForm)150 // 为对话框设置一个“确定”按钮151 .setPositiveButton("登录" , new OnClickListener()152 {153 @Override154 public void onClick(DialogInterface dialog,155 int which)156 {157 //获取登录对话框的控件158 EditText loginNameET = (EditText)loginForm.findViewById(R.id.loginName);159 EditText passwordET =(EditText)loginForm.findViewById(R.id.password);160 EditText tel = (EditText)loginForm.findViewById(R.id.tel);161 Toast.makeText(getApplicationContext(), loginNameET.getText().toString(), Toast.LENGTH_SHORT).show();162 163 // 此处可执行登录处理164 }165 })166 // 为对话框设置一个“取消”按钮167 .setNegativeButton("取消", new OnClickListener()168 {169 @Override170 public void onClick(DialogInterface dialog,171 int which)172 {173 // 取消登录,不做任何事情。174 }175 })176 // 创建、并显示对话框177 .create()178 .show();179 }180 181 private AlertDialog.Builder setPositiveButton(182 AlertDialog.Builder builder)183 {184 // 调用setPositiveButton方法添加确定按钮185 return builder.setPositiveButton("确定", new OnClickListener()186 {187 @Override188 public void onClick(DialogInterface dialog, int which)189 {190 show.setText("单击了【确定】按钮!");191 }192 });193 }194 195 private AlertDialog.Builder setNegativeButton(196 AlertDialog.Builder builder)197 {198 // 调用setNegativeButton方法添加取消按钮199 return builder.setNegativeButton("取消", new OnClickListener()200 {201 @Override202 public void onClick(DialogInterface dialog, int which)203 {204 show.setText("单击了【取消】按钮!");205 }206 });207 }208 }
android 对话框
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。