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

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);
}








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值