我正在尝试创建一个始终操作顶部按钮/可点击图像,它始终位于所有窗口的顶部.
概念证明是
我已经成功并且现在有一个正在运行的服务.该服务始终在屏幕的左上角显示一些文本,而用户可以正常方式与其他应用程序自由交互.
我正在做的是子类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) 我想实现如下图所示的通知.
通知随时出现.我认为它当然是等待来自服务器的新消息的后台服务然后显示这一点.我认为这是一个与此自定义UI对话框实现的活动.我对么?这是服务的正常startActivity方法吗?如何进行过渡动画以使其在显示时从左到右缓慢显示并进行缩放?
如何为可以在任何其他应用上显示的应用实施弹出式叠加层.
Facebook在其新的Facebook Messanger版本中实现了一个名为Chatheads的非常类似的功能.我真的很惊讶地看到这是可能的.在图像上,您会看到另一个应用程序上的聊天(右侧的狗).
我从哪里开始?
我不知道将使用哪些功能或权限来实现此目的.不需要root.
视图看起来像这样,右侧的相机按钮,它是浮动的并且对其他应用程序可见,如果您按下它,它将捕获屏幕截图.
注意:我不会制作截图应用程序,这只是我想要实现的一个例子.
在Facebook的Android的Messenger应用程序有一个叫做聊天元首功能.它在其他应用程序的顶部放置了一个聊天图标和窗口.这是如何实现的?使用哪些Android API?
我有一个函数,当触发时,成功显示一个DialogFragment与以下代码
DialogFragment
DialogFragment dialog;
View dialogView;
Context activityContext;
...
dialog = new DialogFragment(){
@Override public Dialog onCreateDialog(Bundle savedInstanceState) {
dialogView = getActivity().getLayoutInflater().inflate(R.layout.customView, null);
...
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(dialogView);
return builder.create();
}
};
dialog.show(activityContext.getSupportFragmentManager() , "MyDialog");
Run Code Online (Sandbox Code Playgroud)
问题是,在我添加一个带有以下代码的系统警报窗口后,DialogFragment不再显示,但是如果我传递到另一个应用程序,当我的应用程序最小化时,我可以看到DialogFragment,同时它减小了它的大小
系统警报窗口
WindowManager mWindowManager;
WindowManager.LayoutParams params;
...
mWindowManager = (WindowManager)activityContext.getSystemService(Context.WINDOW_SERVICE);
params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT
}
params.gravity = Gravity.CENTER_VERTICAL | Gravity.RIGHT;
addView(((LayoutInflater)activityContext.getSystemService("layout_inflater")).inflate(R.layout.floatingBotton, null));
Run Code Online (Sandbox Code Playgroud)
那么......为什么我不能在顶部看到我的对话框(据我所知,对话框正在显示)为什么它只在显示系统警报窗口时发生
我已尝试使用系统警报窗口的其他标志,但我遇到了与我尝试过的问题相同的问题
android android-dialogfragment dialogfragment system-alert-window
我正在开发一个Android应用程序,它接收来自另一个通过Android意图共享它的应用程序的内容.我做了意图过滤器以将共享内容接收到应用程序中,但我看到像Pocket这样的应用程序在没有离开原始应用程序的情况下覆盖应用程序并且我不知道如何做到这一点.有谁知道怎么做或给我一些提示?
我想实施FloatingView
.这使活动调整大小和拖动(如下图).我也看到了这个帖子,并在此基础上创建了自己的帖子service
.(另请参见本&这个库)
问题是根据实现我不能继续视频,有时屏幕变黑,没有任何显示.我想知道处理这个问题的正确方法是什么?没有视频中断并继续播放.(我知道中断因为setOnPrepareListener
但是如何避免?)
这是我的代码:
public class FloatingStream extends Service implements FloatingViewListener {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (mFloatingViewManager != null) {
return START_STICKY;
}
final DisplayMetrics metrics = new DisplayMetrics();
final WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(metrics);
floatingServiceBinder = new FloatingServiceBinder(this);
final View rootView = LayoutInflater.from(this).inflate(R.layout.view_exoplayer, null, false);
final VideoView videoView = (VideoView) rootView.findViewById(R.id.video_view);
videoView.setVideoURI(Uri.parse(MY_URL));
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared() …
Run Code Online (Sandbox Code Playgroud) 所以我正在复制类似于facebook聊天气泡的实现,并成功创建了要删除的气泡的drop容器.我希望实现的功能是我应该能够在删除区域中放置一个气泡(恰好是带有十字标记的圆形图像).当我在圆形图像中拖动气泡时,我希望调整圆形图像的大小并使其变大.因此,当我将气泡留在放大的图像中时,它应该消失.当我将气泡悬停在它上面时,我无法调整此图像的大小.删除功能到位.
我想指点圆形下降区图像的动态重新调整(基于悬停或不悬停的扩展和收缩)
任何指针都是受欢迎的.提前致谢.
下面的图片用于理解.
我想向用户显示消息.但我想像MusiXMatch那样做.我不知道组件的名称是什么.
MusixMatch显示其他应用程序的歌词,直到用户关闭应用程序或单击隐藏按钮.我可以用2张图片解释我想要的东西.
我希望我可以解释我想要的东西.
我一直在查看几个stackoverflow问题,以了解如何使用Windows管理器监听服务上的backpress按钮.大多数答案提出这是不可能的,但我可以看到信使处理得很好.
messenger如何处理它的聊天服务上的背压按钮?(或者我完全错了,他们不是使用Windows管理器的服务?)
我想实现像Facebook这样的聊天头.
我尝试过自定义通知,但我还没有取得任何成功.请告诉我是否有人想要实现这样的聊天头.
我想创建一个浮动应用程序 - 一个浮动/悬停在其他应用程序上的应用程序。类似于Floating Apps的好人所取得的成就。但我不知道从哪里开始这样的努力。
我了解创建应用程序的传统方法,但我在思考如何开始创建浮动计算器时不知所措。
谁能指出我正确的方向或让我开始?感谢您的投入。谢谢。