我正在尝试创建一个新的透明活动/服务,以始终检测屏幕上的长按,这不会干扰用户除了长按之外的通常触摸。到目前为止,我已经能够做到这一点:
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.getWindow().setFlags(
WindowManager.LayoutParams.TYPE_INPUT_METHOD
| WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,PixelFormat.TRANSPARENT);
//this.getWindow().setFormat(PixelFormat.TRANSLUCENT);
View myview = GestureOverlayView.inflate(getApplicationContext(),
R.layout.traslucent, null);
setContentView(myview);
myview.setOnTouchListener(this);
}
这只是为了测试而不是实际的长按。
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Toast.makeText(this, "Click", Toast.LENGTH_LONG).show();
finish();
return true;
}
我能够检测到活动背后的触摸(如我所愿)并且烤面包没有出现。但是屏幕是黑色的,除了我放在那里的云。我需要让它透明,如何做到这一点?