码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-02-11 02:06:44      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:android   对话框   public   字符串   数据源   

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








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

标签:android   对话框   public   字符串   数据源   

原文地址:http://6103630.blog.51cto.com/6093630/1613454

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!