您的位置:首页 > 职场人生

《Android面试宝典》学习笔记(第四章:对话框、信息提示和菜单)

2015-06-04 23:44 375 查看
Android的标准对话框最多可以有几个按钮?显示对话框按钮的方法是什么?
3个。
new AlertDialog.Builder(this).setTitle("我的对话框").setPositiveButton("关闭",
new DialogInterface.onClickListener(){
public void onClick(DialogInterface dialog, int whichButton){
//TODO
}
}).show();
如何在只使用AlertDialog,不使用外部布局的情况下实现一个列表?
使用AlertDialog.Builder.setItems()方法。
http://www.open-open.com/lib/view/open1326155119828.html

如何将字符串数组作为数据源以列表方式显示在标准对话框中,并在列表项后面加上选项按钮?
使用AlertBuilder.Builder.setSingleChoiceItems方法。

如何设置对话框进度条?
长型进度条对话框:
xh_pDialog = new ProgressDialog(Activity01.this);
xh_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
xh_pDialog.setTitle("提示");
xh_pDialog.setMessage("这是一个长形进度条对话框");
xh_pDialog.setIcon(R.drawable.img2);
xh_pDialog.setIndeterminate(false);
xh_pDialog.setProgress(100);
xh_pDialog.setCancelable(true);
xh_pDialog.show();
圆形:
xh_pDialog = new ProgressDialog(Activity01.this);
xh_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
xh_pDialog.setTitle("提示");
xh_pDialog.setMessage("这是一个圆形进度条对话框");
xh_pDialog.setIcon(R.drawable.img1);
xh_pDialog.setIndeterminate(false);
xh_pDialog.setCancelable(true);
xh_pDialog.setButton("确定", new Bt1DialogListener());
xh_pDialog.show();


如何在标准对话框中任意放置可视组件?
使用AlertDialog.Builder.setView方法。

显示对话框有几种方式?
1:直接使用AlertDialog显示对话框。
2:Activity.showDialog(int),该方法会调用Activity.onCreateDialog方法,并将int参数传入,然后根据参数值决定显示什么样的对话框。

如何改变对话框的显示位置?
Window window = alertDialog.getWindow();
window.setGravity(Gravity.TOP | Gravity.LEFT)
如何改变对话框的透明度?
设置Window的alpha属性。

显示Toast的代码?
Toast.makeText(this, "我的信息", Toast.LENGTH_LONG)

下面的代码可以正常显示Toast信息框吗?为什么?
Toast toast = new Toast(this);
toast.setText("xxx");
toast.show();
不能。makeText方法会创建一个带TextView的View对象,而setText方法设置这个textView组件中的文本。

如何控制Toast信息框的显示和关闭?
Toast类中有一个内嵌类TN,该类中有两个方法show和hide,分别用来显示和关闭Toast信息框。需要用Java反射获取TN对象。

显示notification的步骤?

1:调用Context.getSystemService(NOTIFICATION_SERVICE)方法即可返回NotificationManager实例
2:用Notification构造函数 public Notification(int icon, CharSequence tickerText, long when)构造Notification实例
3:notify()发出通知 cancel(...)取消通知

如何在单击notification后弹出一个activity?
使用PendingIntent.getActivity方法获取一个PendingIntent对象,并将其传入setLatestEventInfo方法的最后一个参数。

如何从状态栏清除notification?
使用NotificationManager.cancel方法。

如何将notification放在“正在进行”栏中?

设置notification的flag属性为ONGOING_EVENT。

如何自定义Notification?
设置Notification.contentView变量。

Android支持哪几种菜单?
选项菜单、上下文菜单、子菜单。

哪些菜单可以显示图像?
选项菜单(菜单项)、上下文菜单和子菜单(仅限菜单头)

创建子菜单的核心代码?
@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu uploadSubMenu=menu.addSubMenu(0, UPLOAD, 0, "上传");
uploadSubMenu.setIcon(R.drawable.upload);
uploadSubMenu.setHeaderIcon(R.drawable.upload);//设置子菜单的标题
uploadSubMenu.setHeaderTitle("上传参数设置");//设置子菜单的标题  默认为“上传”
uploadSubMenu.add(0, SUB_UPLOAD_A, 0, "上传参数1");
uploadSubMenu.add(0, SUB_UPLOAD_B, 0, "上传参数2");
SubMenu downloadSubMenu=menu.addSubMenu(0, DOWNLOAD, 0, "下载");
downloadSubMenu.setIcon(R.drawable.download);
return super.onCreateOptionsMenu(menu);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: