贵有恒,何必三更起、五更眠、最无益,只怕一日曝、十日寒。这篇文章主要讲述Android面试收集录 对话框信息提示和菜单相关的知识,希望能为你提供帮助。
1.如何使用AlertDialog显示一个列表?
- 使用AlertDialog.Builder.setItems方法。
- 在setItems中定义DialogInterface.OnClickListener监听器
2.如何使用AlertDialog实现单选按钮?
- 定义一个字符串数组,用来填充选项
- new一个AlertDialog.Builder对象
- setSingleChoiceItems(数组,-1,new OnClickListener{})
3.如何使用AlertDialog实现多选?
- 定义一个字符串数组,用来填充选项
- new一个AlertDialog.Builder对象
- setMultiChoiceItems(数组,new boolean[]{默认},new DialogInterface.OnMultiChoiceClickListener(){...})
4.如何修改对话框的位置?
- 使用Window对象获取对话框在窗口位置的对象,Window window=alertDialog.getWindow();
- 然后使用window.setGravity(Gravity.TOP|Gravity.LEFT)设置位置
5.如何改变对话框的透明度?
- 使用Window对象获取对话框窗口位置的对象,Window window=alertDialog.getWindow();
- 使用window.getAttributes获取WindowManager.LayoutParams布局参数
- 然后将布局参数中的alpha设置为浮点数即可
- 最后调用窗口对象window.setAttributes重新设置改写的属性即可
6.请写出显示一个Toast信息框的java代码?
- Toast textToast=Toast.makeText(this,"我的信息",Toast.LENGTH_LONG);
- textToast.show();
7.如何自定义Toast显示的时长?
- 需要用反射机制来实现
- 调用Toast.TN.show来显示,调用Toast.TN.hide来关闭
- 所以需要先从Toast对象中获得mTN变量(反射实现)
- 然后从TN对象总获得show方法(反射实现)
8.请描述一下在状态栏上显示一个NotificationManager对象的步骤?
- 先获取NotificationManager对象,getSystemService(NOTIFICATION_SERVICE)即可得到该对象
- 直接创建一个Notification,new Notification(R.drawable.icon,"消息...",System.currentTimeMillis());
- 建立一个关联应用程序的类,PendingIntent对象,PendingIntent.getActivity(this,0,getIntent(),0); 保证程序关闭,对象不会释放
- 设置通知详细信息,notification.setLatestEventInfo(this,"天气转凉,注意添加衣物",pendingIntent对象);
- 展示通知,使用通知管理实例.notify(R.drawable.icon,notification)
9.如何做才能在单击Notification后弹出一个Activity?
- 使用PendingIntent.getActivity方法获取一个PendingIntent对象,这个对象创建了一个关联应用程序的类。即时APP已经关闭,对象依旧存在。
- 调用方式:notification.setLatestEventInfo(this,"消息标题","消息内容",上面pendingIntent对象)。
- 如何发送广播:PendingIntent.getBroadcast(this,1,intent,PendingIntent.FLAG_UPDATE_CURRENT);
- 如何开始服务:PendingIntent.getService(this,1,intent,PendingIntent.FLAG_UPDATE_CURRENT);
10.如何从状态栏清除Notification?
- 使用NotificationManager.cancel方法
- RemoteViews类来配合,常用于通知和桌面小组件
- 使用方式:RemoteViews remoteViews=new RemoteViews(getPackageName(),R.layout.布局名);
- 通知怎么关联:notification.contentView=remoteViews;
12.请描述一下如何为一个Activity添加选项菜单?
- 实现Activity.onCreateOptionsMenu方法
- 添加菜单即通过menu.add方式添加
13.如何自定义选项菜单?
- 自定义选项菜单用PopupWindow对象来模拟选项菜单。
- 通过重写onKeyDown来显示和关闭自定义选项菜单。
推荐阅读
- Android IPC机制—Binder的工作机制
- Flask 上下文管理-- (session,request,current_app的传递)
- 安卓-活动的生命周期
- mappers(将sql映射注册到全局配置中)
- android--------阿里 Sophix移动热修复
- 安卓-项目目录结构
- appium等待元素
- Appium Android 获取包名和 Activity 的几种方法 (转)
- 小松教你手游开发unity实用技能unity发包优化(android一键发包)