yusun悬浮窗怎么开,求三国战纪大神之路秘籍秘籍

八门神器怎么开悬浮窗,新版本不会自动开。_百度知道& 使用WindowManager实现的悬浮窗不隶属于Activity界面,它隶属于启动它的应用程序所在进程。当进程被杀掉,它才消失。
& WindowManager是一个接口,其与其实现类WindowManagerImpl,CompatModeWrapper,LocalWindowManager之间的关系如下:
& 对上面类图中,各类的具体说明如下,
& WindowManagerImpl:
& 1. 是WindowManager接口的实现类,WindowManager的大部分功能都在这里实现,但它不会被直接调用,它作为LocalWindowManager和patModeWrapper的成员变量来使用。
& 2. WindowManagerImpl的三个数组View[],ViewRoot[],WindowManager.LayoutParams[],用来保存每个图层的数据。
& 3. WindowManagerImpl最重要的作用就是用来管理上面三个数组的对应关系。
& LocalWindowManager:
& 1. 其为Window的内部类,父类为CompatModeWrapper,同样都是实现WindowManager接口。
& 2. 每个Acitivty中都有一个mWindowManager成员变量,该成员变量通过Window的setWindowManager方法初始化得到,其用来管理该Activity承载的图层,该成员变量可以通过Activity.getWindowManager或getWindow().getWindowManager获得。
& 3. LocalWindowManager的生命周期小于Activity的生命周期,所以,所以如果我们在一个LocalWindowManager中手动添加了其他的图层,在Activity的finish()执行之前,应该先调用LocalWindowManager的removeView()方法移除这些图层,否则会抛出异常。
& Activity与LocalWindowManager之间的关系如下:
& CompatModeWrapper:
& 1. CompatModeWrapper是一个包含WIndowManagerImpl的壳,即对WindowManagerImpl进行了再次封装。
& 2. 该对象通过getApplication().getSystemService(Context.WINDOW_SERVICE)得到。
& 注意:如果通过activity.getSystemService(Context.WINDOW_SERVICE)得到的只是属于Activity的LocalWindowManager。
& 3. 这个对象是在每个应用程序进程开始的时候创建的,通过ContextImpl中的静态代码块创建,因为使用了单例,保证每个应用程序只有一个该对象。
& 4. 该对象可以实现创建添加悬浮窗口,通过它创建的悬浮窗口,受整个应用程序进程的影响,而不受Activity生命周期的影响。
& 下面给一个悬浮窗的具体实现示例:
&& 添加权限:&uses-permission android:name=&android.permission.SYSTEM_ALERT_WINDOW& /&
* 下载引导层
public class GuideDownloadWindow {
private static GuideDownloadWindow sI
private Context mC
private WindowManager mGDWindowM
private LayoutParams mGDWindowLayoutP
private GuideDownloadView mGDV
private GuideDownloadWindow(Context context) {
mContext =
public static GuideDownloadWindow getInstance(Context context) {
if (sInstance == null) {
sInstance = new GuideDownloadWindow(context);
public void createGuideDownloadWindow() {
initGuideDownloadView(mContext);
initWindowManager(mContext);
initWindowLayoutParams(mContext);
addView();
private void initGuideDownloadView(Context context) {
if (mGDView == null) {
mGDView = new GuideDownloadView(context);
private void initWindowManager(Context context) {
if (mGDWindowManager == null) {
mGDWindowManager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
private void initWindowLayoutParams(Context context) {
if (mGDWindowLayoutParams == null) {
//窗口参数的定义,通过这些参数设定,可以设置窗口的大小和位置等属性
mGDWindowLayoutParams = new LayoutParams();
DisplayMetrics dm = new DisplayMetrics();
mGDWindowManager.getDefaultDisplay().getMetrics(dm);
int screenWidth = dm.widthP
int screenHeight = dm.heightP
mGDWindowLayoutParams.type = LayoutParams.TYPE_SYSTEM_ALERT;
mGDWindowLayoutParams.format = PixelFormat.RGBA_8888;
mGDWindowLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
| LayoutParams.FLAG_NOT_FOCUSABLE;
mGDWindowLayoutParams.gravity = Gravity.LEFT | Gravity.TOP;
mGDWindowLayoutParams.width = mGDView.mWindowViewW
mGDWindowLayoutParams.height = mGDView.mWindowViewH
mGDWindowLayoutParams.x = screenW
mGDWindowLayoutParams.y = screenHeight / 2;
private void addView() {
mGDWindowManager.addView(mGDView, mGDWindowLayoutParams);
mGDView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO 点击悬浮按钮,会有的操作
hideGuideDownloadWindow();
public void hideGuideDownloadWindow() {
if (mGDWindowManager != null) {
mGDWindowManager.removeView(mGDView);
* 下载引导层视图,自己定义漂亮的窗口吧
class GuideDownloadView extends RelativeLayout {
private ImageView mWindowL
public int mWindowViewW
public int mWindowViewH
public GuideDownloadView(Context context) {
// TODO Auto-generated constructor stub
super(context);
LayoutInflater.from(context).inflate(
R.layout.appcenter_guide_download_view, this);
mWindowLayout = (ImageView) findViewById(R.id.float_window_view);
mWindowViewWidth = mWindowLayout.getLayoutParams().
mWindowViewHeight = mWindowLayout.getLayoutParams().
public GuideDownloadView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1165次
排名:千里之外
(1)(1)(1)(7)(1)扫描下载MIUI论坛APP
经验222 米
在线时间1 小时
版本4.9.19
积分 224, 距离下一级还需 276 积分
积分 224, 距离下一级还需 276 积分
机型未知设备
签到次数21
MIUI版本4.9.19
本帖最后由 繁华过后_小凯 于
09:19 编辑
刚升级成为MIUI6,却不知道怎么开启悬浮窗了,经过琢磨到还是会了,现在给大家分享下经验。就拿 烧饼修改器来说吧,在手机设置应用里打开该应用
Screenshot_-22-07-58.png (89.93 KB, 下载次数: 0)
接着就是往下拉你会看到权限管理
Screenshot_-22-08-08_4.jpg (118.75 KB, 下载次数: 0)
,然后点开权限管理
Screenshot_-22-08-15.png (43.41 KB, 下载次数: 0)
当当当,是不是很简单,嘎嘎
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
已有&1&人评分
感谢分享^_^
经验419 米
在线时间37 小时
版本V8.0.1.0.LAICNDG
积分 486, 距离下一级还需 14 积分
积分 486, 距离下一级还需 14 积分
机型红米手机3
签到次数26
MIUI版本V8.0.1.0.LAICNDG
弄好了,谢谢,这贴我转走到2S,再谢谢。
经验222 米
在线时间1 小时
版本4.9.19
积分 224, 距离下一级还需 276 积分
积分 224, 距离下一级还需 276 积分
机型未知设备
签到次数21
MIUI版本4.9.19
弄好了,谢谢,这贴我转走到2S,再谢谢。
呵呵,多弄点人气,我想申精的
经验2120 米
在线时间11 小时
版本6.9.19
积分 2229, 距离下一级还需 2771 积分
积分 2229, 距离下一级还需 2771 积分
机型小米手机4
签到次数82
MIUI版本6.9.19
为什么我QQ这么弄了还是没用啊
经验291 米
在线时间2 小时
版本5.3.27
积分 295, 距离下一级还需 205 积分
积分 295, 距离下一级还需 205 积分
机型未知设备
签到次数34
MIUI版本5.3.27
谢谢啊,终于找到了。。。。。。。。。。
经验153 米
在线时间1 小时
版本4.11.28
积分 155, 距离下一级还需 45 积分
积分 155, 距离下一级还需 45 积分
机型红米Note 4G版
签到次数11
MIUI版本4.11.28
在线时间0 小时
版本6.2.18
积分 50, 距离下一级还需 150 积分
积分 50, 距离下一级还需 150 积分
机型红米Note 4G版
MIUI版本6.2.18
(489.67 KB, 下载次数: 2)
20:26 上传
经验484 米
在线时间52 小时
版本V7.5.1.0.KHLCNDE
积分 903, 距离下一级还需 1097 积分
积分 903, 距离下一级还需 1097 积分
机型红米手机2A 联芯L1860C
MIUI版本V7.5.1.0.KHLCNDE
通过手机发布
关注腾讯微博
已关注腾讯微博
Copyright (C) 2016 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号三星怎么打开悬浮窗口_百度知道}

我要回帖

更多关于 yusun手机怎么解锁 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信