我已在我的服务类中实施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;
}
答案 0 :(得分:0)
您必须在onTouch上返回true以指示已发生触摸事件并且您想要返回结果。
请参阅:Android: How to detect double-tap?和Android multi touch and double tap working together for an imageview
答案 1 :(得分:0)
为什么你要归还假?你应该在触摸听众身上回归真实!! 抱歉,你能告诉我你想用触摸听众做什么吗?我可以在你的代码上看到你只显示Toast。如果你想点击进行。只需使用OnClickListener而不是触摸侦听器!
答案 2 :(得分:0)
回复您的评论。好吧,你可以使用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。请看我使用相同的方法来显示和隐藏fullScreen中的statusBar,但我使用的是Gesture而不是OnTouchListener。告诉我,如果你想知道我如何使用手势更容易使用。