gpt4 book ai didi

android - 无法在 WindowManager 中调用 onClickListener

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:28 25 4
gpt4 key购买 nike

我正在我的服务类中实现windowManager

WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(mView, params);

我在我的窗口管理器中添加了一个 View ,但该 View 的点击监听器不工作。

    mView.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(),"onClick", Toast.LENGTH_LONG).show();
}
});

这是布局参数。

    WindowManager.LayoutParams params = new WindowManager.LayoutParams(130,130);
params.type=WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;
params.flags=WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
params.format=PixelFormat.TRANSPARENT;

我希望点击监听器正常工作,但它不工作,所以请在这方面帮助我。

最佳答案

您好,经过长时间的研究,我找到了这段代码。这应该工作。试试 。在创建服务类时添加此行。以下内容是我们应该传递的参数 FLAG_WATCH_OUTSIDE_TOUCH 和所有。希望这对你有帮助。

WindowManager.LayoutParams params = new WindowManager.LayoutParams(100, 100, 2007, 8, -3);
Button bb=new Button(this);
bb.setText("Button");
bb.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println("Clicked----><<<<<<<");
}
});

bb.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
System.out.println("Touched =----- > ");
return false;
}
});

params.gravity = Gravity.RIGHT | Gravity.TOP;
params.setTitle("Load Average");
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(bb, params);

关于android - 无法在 WindowManager 中调用 onClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15064657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com