我有一个 imageview,我需要长按(上下文菜单)和常规按键才能正常工作。我可以让一个或另一个工作,但不能同时工作。我错过了什么?下面的代码仅适用于普通打印机。只要我触摸屏幕,它就会开始执行 onTouch 代码。
ImageView image = (ImageView)findViewById(R.id.visible_image);
image.setLongClickable(true);
image.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
// disable the screen taps for 500ms
DecodeActionDownEvent(v, ev, bm2);
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_UP:
}
return true;
}
});
registerForContextMenu(image);
...
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Edit");
ArrayList<String> menuItems = new ArrayList<String>();
menuItems.add("Edit page settings");
menuItems.add("Edit page objects");
menuItems.add("Edit this object");
for (int i = 0; i<menuItems.size(); i++) {
menu.add(Menu.NONE, i, i, menuItems.get(i));
}
}
最佳答案
你可以尝试这样做:
ImageView imageView = (ImageView) findViewById(R.id.ImageView);
imageView.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//your stuff
return true;
}
});
imageView.setOnClickListener(new OnClickListener() {
@Override
public boolean onClick(View v) {
//your stuff
return true;
}
});
关于android imageview 长按和长按,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10503728/
我正在尝试通过PanResponder在ReactNative中处理长按。经过一番体面的搜索后,我找不到如何以“正确的方式”进行操作,所以我在这里问。这个想法是在检测到屏幕上的长按(单击)时执行代码。我想出了这样的事情:handlePanResponderGrant(e,gestureState){//OnthepressofthebuttonsetatimeoutmyVar=setTimeout(this.MyExecutableFunction(),LONG_PRESS_MIN_DURATION);}handlePanResponderRelease(e,gestureState)
我正在尝试在angularjs中获取长按事件。我从这里找到了解决方案https://gist.github.com/BobNisco/9885852但我无法登录控制台。这是我的代码。http://goo.gl/ZpDeFz你能告诉我哪里错了吗..$scope.itemOnLongPress=function(id){console.log('Longpress');}$scope.itemOnTouchEnd=function(id){console.log('Touchend');} 最佳答案 这是一个很好的实现://pressa
我正在使用https://github.com/spf13/cobra使用标志。我希望我的CLI有两个名称的标志:-t或--token。我目前是这样使用它的:rootCmd.PersistentFlags().String("token","","Tokentoinsert")但是它给我打印了这样的标志:Flags:-h,--helphelpformyapp--tokenstringTokentoinsert我希望它是这样的:Flags:-h,--helphelpformyapp-t,--tokenstringTokentoinsert我该怎么做?我没有在谷歌上找到它,我试图为一个标志
谁能告诉我如何在C#中捕获Windows商店应用程序的长按?我可以使用“点击”手势没问题但是当我更换时TappedRoutedEventArgs和HoldingRoutedEvent它只是没有注册一个持有手势。我正在用我的笔记本电脑对此进行测试,所以它可能无法识别鼠标按住事件吗?我假设WindowsPhone7也有类似的功能,但它们主要用于Windows8未使用的Silverlight。任何链接/示例都会有很大帮助!谢谢! 最佳答案 使用持有事件:XAML:CS:privatevoidGrid_Holding_1(objectsen
我试图通过使用每月一次的任务计划在Windows中创建批处理文件来查找*.bak。条件超过30岁。我创建了两个条件全路径名和非8dot3路径名。无法删除的请记录为TXT文件。这是我找到的命令:forfiles/PE:\WP/S/M*.bak/D-30/C"cmd/Cdel@path"这是我使用非8dot3文件名删除的命令:forfiles/PE:\WP/S/M*.bak/D-30/C"cmd/Cfor%Ain(@path)do@echodel%~sA对于文件路径和文件名太长不能删除,记录到一个全路径长文件名非8dot3的TXT文件:forfiles/PE:\WP/S/M*.bak/D-
我们正在为一家博物馆开发软件。有几个连接到本地网络的触摸屏交互式信息亭在Windows8.1上运行。没有键盘,没有鼠标。装有Apache的服务器包含几个本地网站。每个信息亭都以信息亭模式运行GoogleChrome的副本。因此,我们有某种本地网络应用程序可以为博物馆参观者提供信息。现在,问题来了。如果访问者在屏幕上长按,它的工作方式类似于右键单击。出现上下文菜单。我们根本不想要它。我在正文标签中添加了“oncontextmenu=returnfalse”,这很有帮助。但。我们有几个在iframe中运行的外部网站(博物馆可以连接到互联网)。上下文菜单确实出现在iframe上。据我所知,无
本文适合有一定键盘基础且采用中断方式进行数码管显示,并且采取while()函数进行松手检测的同学阅读。独立键盘的长按和短按(因为矩阵键盘只有四个键,所以可以写四个while函数进行判断),以下只写出S7按键的长短按(通过定时器),并假定1s为长按,其他键可以以此推之:voidscankey(){unsignedcharyi=0;%%长按键只进行一次判定if(P30==0) %%S7{flagnum=0;flag=0;yi=0; %%相应判断条件初始化while(P30==0){if(flag==1&&yi==0){yi=1; } %%%%长按}if(flag==0){ } %%%短
这是我试图用来在文本文件中查找特定文本的preg_match。if(preg_match($regexp,$textFile,$result)>0){echo"Found".$result[0];}else{echo"Notfound";}但是,结果总是Found,仅此而已。结果数组为空。现在我读到preg_match不能处理长字符串。我的文本文件大约有300KB,所以我猜大概有300000个字符。我100%确定搜索到的字符串在文本文件中,并且preg_match函数返回值大于0的事实意味着它找到了它,但它没有以某种方式将它放入结果数组中。所以我的问题是,如何让它发挥作用?regexp
我有一些来自Date和Long类型以及Overlay类型的错误。两者都使用GWTJSNI中不允许的long。通过getTime()将日期序列化为long。我现在正在做的(而且它似乎有效)是:FROMJAVA(使用Jackson序列化成json)LongmyLong=newLong(50)DatemyDate=newDate();publicStringgetMyLong(){returnString.valueOf(myLong);}publicStringgetDate(){returnString.valueOf(date.getTime());}来自GWT(使用OverlayTy
我可以在HBase中将数字存储为Long和Double。它们在Java中都占用8个字节。使用Double的优点是它可以提供更广泛的整数存储范围。但是,我认为Long的范围也足够我使用了。有没有人知道LongvsDobule的序列化和反序列化性能?我对它们之间的比较很感兴趣。谢谢。 最佳答案 如果要存储整数,请使用Long。您关于“使用Double的优势在于它提供更广泛的整数存储范围”的说法是不正确的。两者都是64位长,但是double必须使用一些位来表示指数,留下更少的位来表示幅度。您可以在double中存储更大的数字,但会失去精度