Android onTouchListner并没有在冰淇淋三明治上面工作,但它在姜饼上工作
我已经在我的服务类中实现了Android onTouchListner并没有在冰淇淋三明治上面工作,但它在姜饼上工作,android,android-4.0-ice-cream-sandwich,ontouchlistener,Android,Android 4.0 Ice Cream Sandwich,Ontouchlistener,我已经在我的服务类中实现了ontouchlistener,并尝试获取触摸事件,该事件与gingerbread配合良好,但与高于icreamsandwich的内容不配合。我正在努力解决这个问题,但即使在阅读了stackoverflow中的大量文档后,我也没有得到任何解决方案 这是代码。请帮我解决这个问题。在onCreate方法中,我定义了ImageButton ImageButton imageButton=new ImageButton(this); imageButton.setBackgro
ontouchlistener
,并尝试获取触摸事件,该事件与gingerbread
配合良好,但与高于icreamsandwich
的内容不配合。我正在努力解决这个问题,但即使在阅读了stackoverflow中的大量文档后,我也没有得到任何解决方案
这是代码。请帮我解决这个问题。在onCreate
方法中,我定义了ImageButton
ImageButton imageButton=new ImageButton(this);
imageButton.setBackgroundColor(Color.TRANSPARENT);
imageButton.setOnTouchListener(this);
WindowManager.LayoutParams layoutParams=new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
WindowManager windowManager=(WindowManager)getSystemService(WINDOW_SERVICE);
windowManager.addView(imageButton, layoutParams);`
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
Toast.makeText(getApplicationContext(), "Double touched "+DoubleTouch, 1000).show();
return true;
}
您必须在onTouch上返回true,以指示发生了触摸事件,并且您希望返回结果
请参阅:和为什么返回false?您应该在触摸时返回true-on-touch-listener!!
对不起,你能告诉我你想用触摸式听筒做什么吗?正如我在你的代码中看到的,你只显示吐司。如果要在单击时执行。只需使用OnClickListener而不是touch listener 回复您的评论。您可以使用OnClickListener来代替双击或更多 下面是一个示例:首先创建一个
Boolean
变量,并将其分配给true
boolean lightit = true;
其次,创建按钮单击的方法。在我这里的示例中,当我第一次单击按钮时,图像将更改为另一个。当按钮再次单击时,它会将其更改回旧图像。按照我的例子来做,希望它对你有所帮助
private void showHide1() {
if (lightit) {
if (null != bmp) {
rotator = null;
styleId = StyleKosh.bright;
change = StyleKosh.changeStyle(bmp, styleId);
view.setImageBitmap(change);
fix.setImageResource(R.drawable.lighton);
} else if (null == bmp) {
final Toast tst = Toast.makeText(getApplication(),
"Please Select An Image First", Toast.LENGTH_SHORT);
tst.setGravity(Gravity.CENTER, 0, 0);
tst.show();
}
} else {
rotator = null;
change = null;
fix.setImageResource(R.drawable.light);
view.setImageBitmap(bmp);
}
lightit = !lightit;
}
然后在按钮上单击Listener添加此showHide()代码>
这就是我处理点击按钮或图像视图的方式。对于多次单击,您只需添加if-else。请看,我使用相同的方法在全屏显示和隐藏状态栏,但我使用的是手势,而不是触摸。如果你想知道我如何使用这个手势,请告诉我 你能发布stacktrace吗?我也返回了true,但它不起作用,我想捕获双触事件,这就是为什么我在TouchListner上实现,请给出解决方案谢谢你的回答,实际上我想通过实现overlay widget来听服务中的双触事件,你能建议我解决这个问题吗?你不能用双倍标签。相反,您可以使用长点击。但是,您可以参考这些:或者