Java安卓如何添加悬浮窗_Android学习教程之悬浮窗菜单制作(9)

本文实例为大家分享了Android悬浮窗菜单的具体代码,供大家参考,具体内容如下

MainActivity.java代码:

package siso.multilistview;

import android.os.Build;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

hideBothNavigationBarAndStatusBar();

setContentView(R.layout.activity_main);

FloatMenuManager.getInstance().startFloatView(this.getApplicationContext());

findViewById(R.id.hideStatuBarNaviBar).setOnClickListener(this);

}

private void hideBothNavigationBarAndStatusBar() {

View decorView = getWindow().getDecorView();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {

int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION

| View.SYSTEM_UI_FLAG_FULLSCREEN;

decorView.setSystemUiVisibility(uiOptions);

}

}

@Override

protected void onResume() {

super.onResume();

hideBothNavigationBarAndStatusBar();

FloatMenuManager.getInstance().showFloatingView();

}

@Override

protected void onPause() {

super.onPause();

FloatMenuManager.getInstance().hideFloatingView();

}

@Override

protected void onDestroy() {

super.onDestroy();

FloatMenuManager.getInstance().destroy();

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.hideStatuBarNaviBar:

hideBothNavigationBarAndStatusBar();

break;

}

}

}

Const.java代码:

package siso.multilistview;

public interface Const {

String GAME_URL = "http://www.cnblogs.com/cate/html5/";

String HOME = "首页";

String FAVOUR = "收藏";

String FEEDBACK = "客服";

String MESSAGE = "消息";

String CLOSE = "关闭";

String[] MENU_ITEMS = {HOME, FAVOUR, FEEDBACK, MESSAGE, CLOSE};

}

FloatMenuManager.java代码:

package siso.multilistview;

import android.content.ComponentName;

import android.content.Context;

import android.os.IBinder;

import java.io.ObjectStreamException;

public class FloatMenuManager implements ServiceConnectionManager.QdServiceConnection {

private ServiceConnectionManager mServiceConnectionManager;

private FloatMenuManager() {

}

//静态内部类实现单例 优于双重检查锁(DCL)单例

public static FloatMenuManager getInstance() {

return FloatMenuHolder.single;

}

/**

* 静态内部类能够解决DCL双重检查锁失效的问题

*/

private static class FloatMenuHolder {

private static

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值