设为首页 加入收藏

TOP

Launcher知识的demo,手机管家小伙家与悬浮窗(四)
2015-07-20 17:30:30 来源: 作者: 【 】 浏览:25
Tags:Launcher 知识 demo 手机 管家 小伙 悬浮
mallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE; smallWindowParams.gravity = Gravity.LEFT | Gravity.TOP; smallWindowParams.width = smallWindow.viewWidth; smallWindowParams.height = smallWindow.viewHeight; smallWindowParams.x = screenWidth; smallWindowParams.y = screenHeight / 2; } smallWindow.setParams(smallWindowParams); windowManager.addView(smallWindow, smallWindowParams); } } private static WindowManager getWindowManager(Context context) { if (mWindowManager == null) { mWindowManager = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); } return mWindowManager; } /** * 计算已使用内存的百分比 * * @return */ public static String getUserPercent(Context context) { String dir = "/proc/meminfo"; try { // FileReader fr=new FileReader(dir); // BufferedReader br = new BufferedReader(fr, 2048); // String data = br.readLine(); // String subMemoryLine = data.substring(data.indexOf("MemTotal:")); // br.close(); // long totalMemorySize = // Integer.parseInt(subMemoryLine.replaceAll("\\D+", "")); // long avaliableMemory= getAvalibaleMemory(context)/1024; // int // percent=(int)((totalMemorySize-avaliableMemory)/((float)totalMemorySize*100)); // return percent+"%"; FileReader fr = new FileReader(dir); BufferedReader br = new BufferedReader(fr, 2048); String memoryLine = br.readLine(); String subMemoryLine = memoryLine.substring(memoryLine .indexOf("MemTotal:")); br.close(); long totalMemorySize = Integer.parseInt(subMemoryLine.replaceAll( "\\D+", "")); long availableSize = getAvalibaleMemory(context) / 1024; int percent = (int) ((totalMemorySize - availableSize) / (float) totalMemorySize * 100); return percent + "%"; } catch (Exception e) { e.printStackTrace(); } return "悬浮窗"; } /** * 返回可用的内存 * * @param context * @return */ private static long getAvalibaleMemory(Context context) { MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); getActivityManager(context).getMemoryInfo(memoryInfo); return memoryInfo.availMem; } private static ActivityManager getActivityManager(Context context) { if (mActivityManager == null) { mActivityManager = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); } return mActivityManager; } public static void updatePercent(Context context) { if (smallWindow != null) { ((TextView) smallWindow.findViewById(R.id.tv_small_percent)) .setText(getUserPercent(context)); } } public static void createBigView(Context context) { WindowManager windowManager = getWindowManager(context); int screenWidth = windowManager.getDefaultDisplay().getWidth(); int screenHeight = windowManager.getDefaultDisplay().getHeight(); if (bigView == null) { bigView = new BigView(context); if (bigWindowParams == null) { bigWindowParams = new LayoutParams(); bigWindowParams.x = screenWidth / 2 - BigView.viewWidth / 2; bigWindowParams.y = screenHeight / 2 - BigView.viewHeight / 2; bigWindowParams.type = LayoutParams.TYPE_PHONE; bigWindowParams.format = PixelFormat.RGBA_8888; bigWindowParams.gravity = Gravity.LEFT | Gravity.TOP; bigWindowParams.width = BigView.viewWidth; bigWindowParams.height = BigView.viewHeight; } windowManager.addView(bigView, bigWindowParams); } } /** * 将大悬浮窗从屏幕上移除。 * * @param context * 必须为应用程序的Context. */ public static void removeBigWindow(Context context) { if (bigView != null) { WindowManager window
首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇UVA 10452 Marcus, help!( DFS ) 下一篇Cannot generate texture from bi..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Linux_百度百科 (2025-12-26 12:51:52)
·Shell 流程控制 | 菜 (2025-12-26 12:51:49)
·TCP/UDP协议_百度百科 (2025-12-26 12:20:11)
·什么是TCP和UDP协议 (2025-12-26 12:20:09)
·TCP和UDP详解 (非常 (2025-12-26 12:20:06)