资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
android 学习笔记10-对话框 主题样式 国际化1、确定取消对话框具体的步骤:a,创建对话框构建器对象,类似工厂模式 AlertDialog.Builder builder = new Builder(this);/this是一个上下文Context ,查看源码可知b,设置标题和正文 builder.setTitle(警告); builder.setMessage(对话框内容);c,设置确定和取消按钮 builder.setPositiveButton(确定, new OnClickListener() /注意这个侦听是dialog包下的,不要导错了 Override public void onClick(DialogInterface dialog, int which) Toast.makeText(MainActivity.this, 已经确定, 0).show(); ); builder.setNegativeButton(取消, new OnClickListener() Override public void onClick(DialogInterface dialog, int which) Toast.makeText(MainActivity.this, 已经取消, 0).show(); );d,使用构建器创建出对话框对象 AlertDialog ad = builder.create(); ad.show();代码演示:public class MainActivity extends Activity Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); public void click1(View v) /创建对话框创建器 AlertDialog.Builder builder = new Builder(this); /设置图标 builder.setIcon(android.R.drawable.ic_dialog_alert); /设置标题 builder.setTitle(警告); /设置内容 builder.setMessage(对话框内容); /设置确定按钮 builder.setPositiveButton(确定, new OnClickListener() Override public void onClick(DialogInterface dialog, int which) Toast.makeText(MainActivity.this, 已经确定, 0).show(); ); /设置取消按钮 builder.setNegativeButton(取消, new OnClickListener() Override public void onClick(DialogInterface dialog, int which) Toast.makeText(MainActivity.this, 已经取消, 0).show(); ); /显示对话框 AlertDialog ad = builder.create(); ad.show(); 这样就OK了2、单选对话框public void click2(View v)/创建对话框创建器AlertDialog.Builder builder = new Builder(this);/设置图标builder.setIcon(android.R.drawable.ic_dialog_alert);/设置标题builder.setTitle(“选择职业”); final String items = new String 老师, 程序员, 客服, ; /设置单选选项 builder.setSingleChoiceItems(items, 1, new OnClickListener() /dialog:触发此方法执行的那个对话框 Override public void onClick(DialogInterface dialog, int which) Toast.makeText(MainActivity.this, itemswhich, 0).show(); /对话框消失 dialog.dismiss(); ); /显示对话框 builder.show();注意:不要设置 builder.setMessage(对话框内容); 不然会覆盖3、多选对话框void click3(View v)/创建对话框创建器AlertDialog.Builder builder = new Builder(this);/设置图标builder.setIcon(android.R.drawable.ic_dialog_alert);/设置标题builder.setTitle(“选择职业”); final String items = new String 老师, 程序员, 客服, ; final boolean checkedItems = new boolean true, false, true ; /设置多选选项 builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() Override public void onClick(DialogInterface dialog, int which, boolean isChecked) /记录用户的选择 checkedItemswhich = isChecked; ); builder.setPositiveButton(确定, new OnClickListener() /点击确定对话框就会消失,不用去dialog.dismiss(); Override public void onClick(DialogInterface dialog, int which) String text = ; for (int i = 0; i checkedItems.length; i+) text += checkedItemsi? itemsi + ,: ;/三步运算符 Toast.makeText(MainActivity.this, text, 0).show(); ); builder.show();4、进度条对话框public void click4(View v)/创建进度条对话框final ProgressDialog dialog = new ProgressDialog(this);dialog.setIcon(android.R.drawable.ic_input_add);dialog.setTitle(“正处理,请稍候”);dialog.setMax(100);dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);Thread t = new Thread()public void run() for (int i = 0; i = 100; i+) dialog.setProgress(i);try sleep(30); catch (InterruptedException e) e.printStackTrace();/完成,进度消失dialog.dismiss();t.start();/开启一个子线程dialog.show();/显示dialog5、样式与主题为什么设置样式,因为如果多个地方使用同一个设置的话,如果修改那么都需要修改,如果定义了样式的话,那么就只需要修改一个地方。在style.xml文件中定义 wrap_content wrap_content 30sp #00ff00样式还可以继承,比如我只想改变basestyle中的某一个属性,我就可以继承它,2种写法:a,使用parent 20sp b,使用. 这种写法会多一点 style name=basesty
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号