57、android 应用内全局通知的实现方法
2024-08-28 19:00:16
1、后台运行一个服务 间隔5s从服务器获取一次数据,根据业务需要,当需要提醒给用户时,从右侧自动划出
类似效果如下:在任何界面都会有通知弹窗
2、实现过程
①android的根布局叫dector(获取方式为:window.getDecotrView()),
②在activity中setContView设置的activity布局,可以通过dector.getChildAt(0)
③自定义一个FramLayout,FramLayout首先添加above;自定义通知内容,添加到FramLayout;然后把我们自定义的FrameLayout添加到dector
for example:
ViewGroup decor = (ViewGroup) mWindow.getDecorView();//获取根布局
ViewGroup above = (ViewGroup) decor.getChildAt(0);//获取activity的布局
decor.removeView(above);
above.setBackgroundDrawable(decor.getBackground());
/**自定义通知开始**/
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
rlNotifactions.setLayoutParams(lp); View grid = inflater.inflate(R.layout.listview_notification,null);
ListView listview = (ListView)grid.findViewById(R.id.listview_notification_list);
listview.setAdapter(adapter);
RelativeLayout.LayoutParams lpTv = new RelativeLayout.LayoutParams(790, ViewGroup.LayoutParams.MATCH_PARENT);
lpTv.addRule(RelativeLayout.ALIGN_PARENT_TOP|RelativeLayout.ALIGN_PARENT_RIGHT);
lpTv.setMargins(0, 100, 0, 0);
/**自定义通知结束**/
rlNotifactions.addView(grid,lpTv); mAboveView.addView(above);
addView(mAboveView);
addView(rlNotifactions);
decor.addView(this);//this指的是上文提到的自定义frameLayout
}
参考:
https://github.com/adamrocker/simple-side-drawer/blob/master/doc/simple_side_drawer2.pdf
https://github.com/adamrocker/simple-side-drawer
最新文章
- WCF Misconfiguration: Security Not Enabled
- 购物车catslider简单的多商品分类滑动
- TCP/IP的Socket编程
- 验证码的种类与实现 C#封装类 - .NET MVC WEBFORM
- C# WinFrom 跨线程访问控件
- form作为module name 悲剧了
- Hadoop 添加删除数据节点(datanode)
- Varnost slovenskih GSM omrežij III
- 通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)
- Apache Spark GraphX
- Apache Spark Streaming的优点
- 【张泽华】android视频教程下载地址及上课源代码
- 数据结构——UVA 1600 机器人巡逻
- px单位html5响应式方案
- MySql实现分页查询的SQL,mysql实现分页查询的sql语句 (转)
- Truncated Power Method for Sparse Eigenvalue Problems
- Java自带RPC实现,RMI框架入门
- CF727F [Polycarp's problems] &; [EX_Polycarp's problems]
- DamonOehlman/detect-browser
- Ubuntu 18.04换国内源 中科大源 阿里源 163源 清华源