我创建了一个ButtonField和一个BitmapField,比如..
public class MyCanvas extends MainScreen implements FieldChangeListener
{
HorizontalFieldManager hfm;
private Bitmap startBitmap;
private BitmapField startBitmapField;
private ButtonField okButton;
MyCanvas()
{
hfm = new HorizontalFIeldManager();
startBitmap = Bitmap.getBitmapResource("start.png");
startBitmapField = new BitmapField(startBitmap);
startBitmapField.setChangeListener(this);
hfm.add(startBitmapField);
okButton = new ButtonField("Ok", ButtonField.CONSUME_CLICK | ButtonField.NEVER_DIRTY);
okButton.setChangeListener(this);
hfm.add(okButton);
}
public void fieldChanged(Field field, int context)
{
if(field == startBitmapField)
{
System.out.println("Touched START...");
}
else if(field == okButton)
{
System.out.println("Touched Ok...");
}
}
}
Run Code Online (Sandbox Code Playgroud)
但ButtonField或BitmapField点击不会发生在Blackberry 4.7模拟器中.
我想为Blackberry Storm构建它,所以我使用的是Blackberry 4.7
如何为Blackberry Storm处理ButtonField和BitmapField的点击/触摸事件?
我正在创建ButtonField和BitmapFields
okButtonField = new …Run Code Online (Sandbox Code Playgroud) user-interface blackberry touchscreen blackberry-storm rim-4.7
好吧,显然xna游戏只能以30fps的速度运行,这是一种耻辱,因为我们在iPhone上的游戏看起来好多了60 ...
无论如何,因为获得有关触摸屏状态的信息的唯一方法是获得其当前状态,实际上这意味着您只能以30 fps采样触摸屏.
即使我们的游戏必须以30fps运行,有没有办法从触摸屏获得更高分辨率的采样?也许通过回调?或者通过访问带有时间戳的触摸事件列表?
在为我的Evo编码时遇到问题.在触摸屏幕时,Evo解释我触摸屏幕上的另一个按键而不是onKeyDown,onBackPressed等.(它实际上将MotionEvent指针计数设置为2,我可以获得我的合作伙伴触摸它不在主屏幕上,例如,触摸后退按钮时为830*190.)
在按钮的位置没有编码(对于每个带有电容式按钮的手机都不同,如果它们都有相同的问题),有什么方法可以解决这个问题吗?是否有其他人使用不同的电容式按钮设备有此问题?
我正在一个网站上,我正在使用Javascript(通过JQuery)添加包含列表中项目的额外信息的弹出框.我正在使用JQuery mouseeneter和mouseleave事件来使弹出窗口显示和消失,这当然在桌面浏览器中都可以正常工作.
在Mobile Safari中,当我点击一个项目时出现弹出窗口(这是我期望的和我想要发生的事情),并且我添加了一个ontouchstart触发mouseleaveJQuery事件的内容,从而在用户执行任何其他操作时隐藏任何可见的弹出窗口.除了当用户点击他们刚看过并取消的弹出窗口(通过滚动或通过执行任何其他触发ontouchstart事件的事件)而不是再次显示弹出窗口时,这也可以正常工作它会激活附加到该项目的链接.
如果用户点击另一个项目而不是再次点击相同的项目,那么该新项目的弹出窗口将显示,然后如果他们再次点击第一个项目,则该项目的弹出窗口将显示.同样,这既是预期的,也是我想要发生的事情.
似乎一旦有一个悬停事件的项目被点击并且Mobile Safari被迫发生该事件,那么该项目将被标记为已触发其悬停事件,因此下一个点击不必假装是一个悬停,它可以是正常的点击.使用悬停事件点击另一个项目似乎"重置"为前一个项目设置的标志.
我希望能够为自己'重置'这个标志,以便当前点击项目显示弹出窗口以及下一次点击该项目时,即使弹出窗口已关闭, ,当我用我的关闭弹出窗口时,会激活链接,ontouchstart因此我认为该项目不再"悬停",再次点击同一项目应再次显示弹出窗口然后仅显示点击该项目,同时弹出窗口可见链接激活.
当我使用ontouchstart触发器时,秘密似乎是让Mobile Safari退出其"伪悬停"模式,mouseleave但是当Mobile Safari假装悬停在任何东西上时,我无法在任何地方找到任何有用的信息.这可以通过Javascript事件访问.
我知道我可以编写一个弹出代码版本专门用于Mobile Safari,但是让浏览器完成模仿悬停事件的大部分工作似乎更有效率.如果只有我可以得到这个最后的小niggle整理出来.
对于桌面浏览器,我可以在字段上设置此项以根据最近的条目禁用自动完成列表.
<input type="text" name="username" autocomplete="off"/>
^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
然而,这并不会禁用 iPad/iPhone/Android /等的自动建议功能,如果您的用户名是您的姓/名或您的设备认为您想要大写第一个字母,这可能会非常令人沮丧.
例如,"jsmith"或者变成"史密斯",因为它认为你错过拼写它或"Jsmith"试图变得更好......这两者都不是真正需要的.
因此问题是......有没有办法在每个字段的基础上禁用此行为?
我们遇到了与GoogleMaps相关的问题.问题主要与触摸屏有关.我们试图解决这个问题,但到目前为止还没有成功.
我们在本文中发现Google Maps API V3不支持触摸事件?这是真是假?
UPDATE
这个问题是在bug中处理的
https://issuetracker.google.com/issues/35824421
并于2016年12月在Google Maps JavaScript API 3.27版中得到解决.
google-maps touchscreen touch google-maps-api-3 internet-explorer-10
我想在android中处理multiTouch,我的计划是在应用程序中使用2个手指.我知道如何使用一个触摸点,但我不确定如何使用多个触点.
这是我的代码,OnTouch:
public boolean onTouch(View view, MotionEvent event) {
for(int i = 0; i < event.getPointerCount(); i++){
float x = event.getX(i);
float y = event.getY(i);
// using the data here...
//....
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
现在我得到每个点的x和y坐标后,我将如何得到发生的动作?我想使用event.getAction,但它不采用点索引等参数.我怎样才能获得每个触摸点的动作类型?
更新:好的,所以现在我可以成功管理和处理两个手指,现在,在我完成之后,我做了一个简单的类Finger来处理每个触摸点,现在每当我有两个手指在屏幕上,我尝试删除其中一个,然后移动/删除另一个手指,游戏只是崩溃!
OnTouch:
public boolean onTouch(View view, MotionEvent event) {
int pointerCount = event.getPointerCount();
if(pointerCount > 2){
pointerCount = 2;
System.out.println("too many fingers!");
} // since i want to handle only two fingers, every other finger will be ignored.
for (int …Run Code Online (Sandbox Code Playgroud) 我们可以使用以下功能获取屏幕上触摸位置的坐标:
public boolean onTouchEvent(MotionEvent event){
float x_forOnTouch = event.getX();
float y_forOnTouch = event.getY();
Run Code Online (Sandbox Code Playgroud)
究竟是什么getX()和getY()功能返回?是否返回像素值?当手指触摸屏幕位置时,它可能会触摸许多像素.那么函数究竟返回了什么?
再次,让我们假设在我用手指触摸的区域中,屏幕上有多个像素,如下所示:
假设我需要单击并拖动像素1处的点,但是我的手指触摸的区域覆盖像素1和2.如何准确检测哪个像素被点击,以便我可以单击并拖动像素1或2需要它?
touchscreen ×10
android ×3
java ×2
wpf ×2
.net ×1
autosuggest ×1
blackberry ×1
button ×1
c#-4.0 ×1
click ×1
google-maps ×1
html ×1
javascript ×1
motionevent ×1
multi-touch ×1
rim-4.7 ×1
touch ×1
touch-event ×1
xna ×1