相关疑难解决方法(0)

创建系统覆盖窗口(始终在顶部)

我正在尝试创建一个始终操作顶部按钮/可点击图像,它始终位于所有窗口的顶部.

概念证明是

我已经成功并且现在有一个正在运行的服务.该服务始终在屏幕的左上角显示一些文本,而用户可以正常方式与其他应用程序自由交互.

我正在做的是子类ViewGroup并将其添加到带有标志的根窗口管理器TYPE_SYSTEM_OVERLAY.现在我想添加一个按钮/可点击图像来代替这个文本,它可以自己接收触摸事件.我尝试覆盖整个"onTouchEvent",ViewGroup但它没有收到任何事件.

如何仅在我的常见顶视图组的某些部分接收活动?请建议.

public class HUD extends Service {
    HUDView mView;

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Toast.makeText(getBaseContext(),"onCreate", Toast.LENGTH_LONG).show();
        mView = new HUDView(this);
        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                0,
//              WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
//                      | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
                PixelFormat.TRANSLUCENT);
        params.gravity = Gravity.RIGHT | Gravity.TOP;
        params.setTitle("Load Average");
        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
        wm.addView(mView, params);
    }

    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

android overlay

279
推荐指数
9
解决办法
23万
查看次数

是否有任何方法使Snackbar在活动变化中持续存在?

虽然Snackbar很漂亮,但在改变活动时它并不存在.Snackbar在完成活动之前我想确认使用a发送消息的情况下,这是一个无聊的事情.我已经考虑在退出活动之前暂停代码,但发现这是一个不好的做法.

如果我所描述的是不可能的,是否有任何类型的材料设计敬酒消息?或者制作矩形吐司消息的方法; 一个半径较小的圆边?

android android-studio

23
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×2

android-studio ×1

overlay ×1