- 浏览: 426847 次
- 性别:
- 来自: 深圳/湛江
文章分类
最新评论
-
wangyudong:
很多API doc生成工具生成doc需要重度依赖代码里加注解的 ...
[ios]利用xcode自动生成项目文档 -
tiger1819:
有源码么,想学习
[android]仿360状态,类流量监控桌面浮动显示 -
119568242:
借我一双翅膀 写道大哥,求指教啊?
IOS 开发,调用打电话,发短信,打开网址 -
借我一双翅膀:
大哥,求指教啊
IOS 开发,调用打电话,发短信,打开网址 -
li247276297:
楼主 是不是要加个权限?
[android]仿360状态,类流量监控桌面浮动显示
前两天看到部分音频播放器可以实现在桌面上显示歌词,360那个浮动的桌面提示,想不到怎么实现。然后查了些资料大致了解了下,比想象的简单多了。先看效果图吧。
白色的字体是我加入进去的,此时是可以允许切换背景的。且按住白色背景可以拖动。
其实主要就是注册一个view到windowsManager上去,然后对它的参数配置成可显示到桌面上的参数就可以了。
下面是代码
activity
就是简单的一个按钮 layout就不写了
package com.cfuture.desktop; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class AndroidDesktopActivity extends Activity { //一个有只有一个按钮的activity @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void funClick(View v){ //按钮被点击 this.startService(new Intent(this,Mser.class)); // new TableShowView(this).fun(); 如果只是在activity中启动 // 当activity跑去后台的时候[暂停态,或者销毁态] 我们设置的显示到桌面的view也会消失 // 所以这里采用的是启动一个服务,服务中创建我们需要显示到table上的view,并将其注册到windowManager上 this.finish(); } }
然后是一个服务
package com.cfuture.desktop; import android.app.Service; import android.content.Intent; import android.os.IBinder; public class Mser extends Service { //服务 //这个类纯蛋疼用 只是为了在activity点击button后 在开启一个service @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } public void onCreate() { //创建service时一个 实例化一个TableShowView对象并且调用他的fun()方法把它注册到windowManager上 super.onCreate(); new TableShowView(this).fun(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { // TODO Auto-generated method stub return super.onStartCommand(intent, flags, startId); } }
最后是一个复写的view其实不复写view 也行 总之是能传入context对象就可以的了 不过如果想要实现歌词那种或者可以动态改变内容的 就要复写view分支的类了。
TableShowView
package com.cfuture.desktop; import android.content.Context; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.WindowManager; public class TableShowView extends View { //如果是想显示歌词则继承TextView并复写ondraw方法。 //开启一个线程不断的调用ondraw方法去更改你所写的继承自TextView的内容 //这里随便写了个集成自view的= =这个不是重点 Context c; WindowManager mWM;//WindowManager WindowManager.LayoutParams mWMParams;//WindowManager参数 public TableShowView(Context context) { // TODO Auto-generated constructor stub super(context); c = context; } public void fun() { //设置载入view WindowManager参数 mWM = (WindowManager) c.getSystemService(Context.WINDOW_SERVICE); final View win = LayoutInflater.from(c).inflate(R.layout.ctrl_window, null); //这里是随便载入的一个布局文件 win.setOnTouchListener(new OnTouchListener() { //触屏监听 float lastX, lastY; public boolean onTouch(View v, MotionEvent event) { final int action = event.getAction(); float x = event.getX(); float y = event.getY(); if (action == MotionEvent.ACTION_DOWN) { lastX = x; lastY = y; } else if (action == MotionEvent.ACTION_MOVE) { mWMParams.x += (int) (x - lastX); mWMParams.y += (int) (y - lastY); mWM.updateViewLayout(win, mWMParams); } return true; } }); WindowManager wm = mWM; WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams(); mWMParams = wmParams; wmParams.type = 2003; // type是关键,这里的2002表示系统级窗口,你也可以试试2003。 wmParams.flags = 40;// 这句设置桌面可控 wmParams.width = 300; wmParams.height = 200; wm.addView(win, wmParams);//这句是重点 给WindowManager中丢入刚才设置的值 只有addview后才能显示到页面上去。 //注册到WindowManager win是要刚才随便载入的layout,wmParams是刚才设置的WindowManager参数集 //效果是将win注册到WindowManager中并且它的参数是wmParams中设置饿 } }
写的很杂 就酱子吧
评论
4 楼
tiger1819
2014-06-14
有源码么,想学习
3 楼
li247276297
2012-12-10
楼主 是不是要加个权限?
2 楼
119568242
2012-09-14
貌似掉线 写道
膜拜一下,MARK回去参考。
而已卖萌可耻
1 楼
貌似掉线
2012-09-14
膜拜一下,MARK回去参考。
发表评论
-
[android]使用 Matrix 的随触摸旋转的ImageView
2013-02-22 01:58 7923使用 Matrix 的随触摸旋转的ImageView 突 ... -
[android]动态改变按钮背景状态 StateListDrawable
2012-10-29 10:52 1472动态改变按钮背景状态 很少用到 上次和六哥聊到。 ... -
[android]ViewPage上无法通过onKeyDown()获得按钮事件
2012-08-20 04:53 1365系统无法监听到遥控器在VewPage上的按钮事件,如需 ... -
[android]待解决 lisTview 的onItemSelected 监听事件焦点的问题。
2012-08-18 21:18 2175今天遇到个问题 到目前为止 一直不理解为什么 大概描述下布局 ... -
[android]layout_weight 在layout_width 为fill_parent 与wrap_content 时的不同含义
2012-08-12 12:52 1269转自:http://hi.baidu.com/l ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 4031研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 3研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]仿制新浪微博消息页面 图标切换动画
2012-08-10 17:33 0研究了下以前不怎么用到的动画效果的实现 顺便做了一个新浪微 ... -
[android]Activity切换动画
2012-08-10 12:23 1478今天准备比赛的时候 遇到了这个问题。 查了些资料 ... -
android中ADT版本问题:无故报 java.lang.NoClassDefFoundError
2012-07-31 22:08 1791今天修改一个老项目的时候,发现在所有配置正确的情况下,代目无任 ... -
[转]android开发问题记录 "founderapp"
2012-02-08 10:48 1070这段时间,由于某种原因,一直在做android手机开发, ... -
关于weight
2012-02-05 21:20 842layout_weight=1后,除了其它的控件之外剩 ... -
判断SD卡是否存在
2012-02-02 17:54 873android.os.Environment.getEx ... -
[转]Android文件管理器介绍
2012-02-02 16:50 3081转自:http://www.linuxidc.com/L ... -
[转]Android文件管理器介绍
2012-02-02 16:49 5转自:http://www.linuxidc.com/L ... -
[转]android 几何图形的绘制
2012-02-01 16:06 2191转自:http://byandby.iteye.c ... -
Android菜鸟日记32-游戏中的碰撞
2012-01-11 23:09 1754Android菜鸟日记 32-游戏中的碰撞 一、 ... -
Android菜鸟日记31-selector 中使用 shape
2012-01-11 23:05 1613Android菜鸟日记 31- ... -
Android菜鸟日记30-View与SurfaceView
2012-01-11 22:45 948Android菜鸟日记 30 View与Surfa ... -
[转]Android开发者指南-Manifest.xml-activity[原创译文]
2012-01-10 17:55 943<activity android:allowTa ...
相关推荐
在Android平台上,开发一款类似360桌面的应用是一项挑战性的任务,因为它涉及到多个技术领域,如用户界面设计、系统权限管理、窗口浮动服务等。"android 仿360桌面 测试 demo" 提供了一个很好的学习资源,对于初学者...
本资源提供的"Android应用源码仿360手机助手首页浮动菜单"是一个很好的学习案例,可以帮助开发者理解和实现这种功能。 首先,我们来分析一下浮动菜单的核心特性。360手机助手的首页浮动菜单通常包含几个可滑动的...
【标题】:“桌面浮动图标弹出窗口360效果”是指在桌面上实现类似360软件那样的浮动窗口效果,这种效果通常具有高度的交互性和视觉吸引力。360安全卫士等应用中的浮动图标,能够在用户进行其他操作时依然在屏幕边缘...
在Android平台上,开发一款类似360助手的浮动窗口应用是一项技术挑战,它涉及到多个关键知识点,包括系统权限管理、自定义视图、窗口管理服务、事件处理以及UI设计等。接下来,我们将深入探讨这些核心内容。 首先,...
在Android平台上,360浮动小插件效果是一种常见的应用增强功能,它允许用户在屏幕上添加一个小窗口,显示特定的应用信息或提供快捷操作。这种效果是通过实现Android系统的悬浮窗功能来实现的,通常用于安全类应用、...
这个毕业设计项目,"android桌面悬浮窗效果进阶 仿360手机卫士、淘宝手机助手",旨在帮助学生深入理解Android系统的运行机制,并通过模仿知名应用如360手机卫士和淘宝手机助手的悬浮窗功能来实践这一技术。...
360浮动窗口通常用于即时通讯、音乐播放、视频监控等场景,使用户可以同时处理多个任务。下面我们将深入探讨这种技术的核心知识点及其实现方法。 首先,要实现360浮动窗口,我们需要理解Android系统的窗口管理机制...
在Android应用开发中,设计和实现一款类似360安全卫士的用户界面是一项挑战性的任务,因为它需要兼顾美观、易用性和功能性。本篇主要关注"360安全卫士"布局的设计与实现,我们将深入探讨如何创建这样一个布局,并...
在Android开发中,360浮动窗口效果是一种常见的应用功能,尤其在系统工具或辅助类应用中常见。这种效果使得应用程序可以在用户界面的顶部或底部显示一个小窗口,即便用户在其他应用中操作,该窗口仍然可见,从而提供...
这个压缩包文件“Android项目仿360 浮动小插件效果”提供了一个示例项目,帮助开发者了解并实现这一功能。以下是关于这一主题的详细知识讲解。 首先,我们需要了解浮动小插件在Android中的概念。这种小插件被称为...
在Android系统中,实现桌面浮动窗口(也称为悬浮窗或小部件)的技术主要涉及到权限申请、自定义ViewGroup以及窗口管理器(WindowManager)的使用。以下是对这一主题的详细阐述: 首先,为了在Android应用中创建浮动...
下面将详细解释如何在Android中创建这样一个“Android仿苹果Siri浮动物件”。 首先,`WindowManager`是Android系统提供的一个接口,它允许开发者动态地在窗口管理器中添加、删除和更新视图。这使得我们可以独立于...
这篇教程将深入探讨如何在Android平台上创建一个仿360手机助手首页的浮动菜单。首先,我们需要理解Android应用的基本架构,这包括Activity、Intent、布局(Layout)以及自定义View等核心概念。 **1. Activity与...
【标题】: "基于Android的仿360 浮动小插件效果" 这个项目是针对Android平台开发的一款模仿360安全卫士中的浮动小插件效果的应用。360安全卫士的浮动小插件是一种在屏幕边缘悬浮的交互元素,它可以提供快速操作入口...
这个压缩包文件“Android应用源码仿360手机助手首页浮动菜单.rar”是一个关于Android应用开发的资源,其中包含了创建一个类似360手机助手首页浮动菜单的源代码实现。360手机助手是一款流行的Android应用,其首页的...
这个项目"仿360 浮动小插件效果_Android.rar"显然是一个示例代码,帮助开发者理解如何在Android应用中实现这种功能。让我们深入探讨一下实现这种效果涉及的关键技术和步骤。 首先,我们需要了解的是Android中的悬浮...
这份"Android应用源码仿360手机助手首页浮动菜单源码"就是一个很好的学习资源,它可以帮助开发者深入理解如何在Android应用中实现这种功能。 首先,浮动菜单通常被称为悬浮按钮(Floating Action Button, FAB),是...