我正在尝试创建一个始终操作顶部按钮/可点击图像,它始终位于所有窗口的顶部.
概念证明是
我已经成功并且现在有一个正在运行的服务.该服务始终在屏幕的左上角显示一些文本,而用户可以正常方式与其他应用程序自由交互.
我正在做的是子类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) 我正在动态地创建布局。我正在做的是,创建一个 EditText,将它添加到一个 RelativeLayout 对象并通过 WindowManager 将它放到 UI 中。执行此操作后如何获得可以输入的edittext?这是我的代码的一个 jist
RelativeLayout layout = new RelativeLayout(this);
private EditText response = new EditText(this);
**Set width/height/extra**
layout.addView(response, params); //Params are set properly
WindowManager myWindow = (WindowManager) getSystemService(WINDOW_SERVICE);
myWindow.addView(layout, params_window);
Run Code Online (Sandbox Code Playgroud)
编辑:我试图在应用程序 LilyPad 中实现一个弹出消息(我不确定你是否知道)。我正在尝试动态更改文本。这是我所做的:
LayoutInflater layoutInflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
myView = layoutInflater.inflate(R.layout.popups, null );
message = (TextView)myView.findViewById(R.id.message);
message.setText(text);
Run Code Online (Sandbox Code Playgroud)
然后在那之后,我遵循@android 开发人员的方法。但是我在 message.setText(text) 部分收到了一个空指针异常。消息被初始化为 TextView 对象,我检查了 popups.xml 文件中是否有 TextView id 消息。这是固定的我没有启动 windowManager。抱歉请忽略这个请在 Edit III 中查看我的问题
编辑二:这是我想要的另一张照片。http://imgur.com/yXJ36n1灰色框位于 XML 文件中的 RelativeLayout 中。前任。如果我在我的 facebook 墙上,我希望 facebook …