- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想让 3 个按钮同时可触摸,这样您就可以触摸一个按钮而无需将手指从另一个按钮上移开。到目前为止,我是按以下顺序使用 ACTION_DOWN、ACTION_POINTER_1_DOWN 和 ACTION_POINTER_2_DOWN 完成的:
public boolean onTouch(final View v, final MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
} else if (event.getAction() == MotionEvent.ACTION_POINTER_1_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
} else if (event.getAction() == MotionEvent.ACTION_POINTER_2_DOWN) {
switch (v.getId()) {
case R.id.button1:
{ playSound(SOUND1, 1.0f) ;};
break;
case R.id.button2:
{ playSound(SOUND2, 1.0f) ;};
break;
case R.id.button3:
{ playSound(SOUND3, 1.0f) ;};
break;}
如果我在手机上编译和运行这个项目,没有任何错误或警告。
但是当我第二次触摸时,会播放与第一次触摸时相同的声音。示例:手指 2 按下按钮 2(播放声音 2)。当手指 2 按住按钮 2 时,我用手指 3 触摸按钮 3。我预计声音 3 正在播放,但声音 2 再次播放。
我已经尝试过“return true”,但这并没有改变任何东西。
一些人也有这个问题,但没有人真正在这些线程中找到解决方案。
亚历克斯
更新:我刚刚发现点击哪里并不重要。即使我点击空白处,另一根手指所在的按钮也会再次使用react
最佳答案
我注意到您使用的代码已被弃用。我相信以下代码(从 Android 培训文档中获取,链接如下)应该有助于解决您的问题。
http://developer.android.com/training/gestures/multi.html
private int mActivePointerId;
public boolean onTouchEvent(MotionEvent event)
{
....
// Get the pointer ID
mActivePointerId = event.getPointerId(0);
// ... Many touch events later...
// Use the pointer ID to find the index of the active pointer
// and fetch its position
int pointerIndex = event.findPointerIndex(mActivePointerId);
// Get the pointer's current position
float x = event.getX(pointerIndex);
float y = event.getY(pointerIndex);
}
然后您可以使用 x、y 坐标来确定他们按下的是哪个按钮,并激活您的声音。
关于android - 多个 ACTION_DOWN 事件做同样的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15930653/
那就是我的第一个使用MVVM的项目,MVVM light。 我有一个列表框,该列表框从PersonList Observable集合中刷新,正常添加和删除刷新。问题是编辑项目时。 我寻找了解决该问题的
这个问题在这里已经有了答案: How do I return the response from an asynchronous call? (41 个回答) 关闭10 年前。 我有这个代码 var
我有一个很大的配置文件(用户),我需要将其转到正确的位置并设置一些默认值。 因为我有一个安装程序类,所以我在其中的配置文件中添加了一些参数设置,但在安装程序文件夹中创建了配置文件。 确保这些默认参数只
|AA|多对多|BB|多对多 |CC| 与连接表映射成为 |AA|--|AA_BB|--|BB|--|BB_CC|--|CC| (抱歉,我无法发布图片,声誉低) 编辑:简短的问题是为什么如果a创建Aa
我想创建这个例子 GET /my_store/products/_search { "query" : { "filtered" : { "query"
AWS 为我们提供了 Athena 来运行无服务器 Hive 查询,Azure 是否有任何服务可以让我们运行无服务器 Hive 查询。 最佳答案 @ clown 。我相信您正在寻找的 Hive 的 A
这让我抓狂......这很好用: jQuery(document).ready(function(){ setTimeout(function(){ jQuer
我是一名优秀的程序员,十分优秀!