Articles of 长按

如何区分长按键和常规按键?

我试图覆盖后面按键的function。 当用户按下一次,我想它回到前一个屏幕。 但是,当后退键被长按(比方说,两秒或更多)时,我想要退出应用程序。 现在,我已经在我的活动中覆盖了这两种方法: @Override public boolean onKeyDown( int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_BACK) { //manage short keypress return true; } return super.onKeyDown(keyCode, event); } @Override public boolean onKeyLongPress( int keyCode, KeyEvent event){ if (keyCode == KeyEvent.KEYCODE_BACK) { //manage long keypress (different code than short one) return true; } return super.onKeyLongPress(keyCode, event); } […]

从View的LongPress触发DOWN事件时,从对话框注册UP / CANCEL

我有一个用户体验要求,用户通过长按GridView一个单元格来触发一个Dialog 。 在显示Dialog ,用户必须能够在屏幕上移动手指/拇指, 而不会在离开GridView单元格边界时触发UP/CANCEL事件。 当用户最终断开与屏幕的联系是我想要捕获的 。 GridView似乎注册了UP/CANCEL一些误报,我们没有看到使用任何其他视图。 问题是原始视图捕获所有触摸事件,因为DOWN被它捕获。 直到从原始视图的UP事件之后,对话注册/才看到触摸。 我试图取消原来的触摸事件,并使用dispatchTouch()等没有喜悦。 有任何想法吗?

ActionbarSherlock:长按操作项显示吐司?

当长时间点击某个操作项目时,操作项目下方会显示一个没有文字的Toast。 我可以禁用Toast ? 谢谢。

为listview设置长时间点击侦听器

我有以下代码: public class MainActivity extends ListActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } protected void onListItemClick(ListView l, View v, final int position, long id) { super.onListItemClick(l, v, position, id); }} 我需要改变这onListItemLongClick(),但如何? 可能吗?

在拖动时停止OnLongClickListener的发射

我有一个自定义视图与位图,用户可以拖动。 我想这样做,当他们长时间点击其中一个我可以popup一个上下文菜单与选项,如重置位置等 在自定义视图中添加我的OnLongClickListener: this.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { // show context menu.. return true; } }); 并重写onTouchEvent来看起来像这样: public boolean onTouchEvent(MotionEvent event) { handleDrag(event); super.onTouchEvent(event); return true; } handleDrag函数查找被按下的对象,并处理更新它的位置。 我的问题是,当我开始拖动图像OnLongClickListener也触发。 我不确定最好的解决办法。 我已经尝试添加一个阈值来处理拖动,如果用户触摸下来,但不会尝试拖动返回false,但我发现仍然很难得到正确的处理程序被解雇。 任何人都可以build议一种方法来拖动时跳过OnLongClickListener?

Android – 是否可以禁用长按主页button,以避免任务pipe理器?

我正在寻找一种方法来禁用任务pipe理器窗口,一旦我长按主页button。 我设法禁用其他设备密钥(如音量,菜单等)和正常点击主页button,因为我是默认的启动器,但我不知道如何禁用任务pipe理器! 即使幼儿locking孩子的应用程序显示任务pipe理器屏幕后长按,所以我认为这是不容易的。 我看到几个答案说我不应该禁用任务pipe理器,但我想从另一个键,而不是长按主页button。 如果需要,将解决我的问题,我可以根植。 请帮忙。 我find了一个方法来做到这一点与Android 2.3.5: 覆盖回家button是一个布尔值是真实的情况下 (我用hotveryspicy代码片)但是,正如在这个链接中写的,这个解决scheme不适用于Android 4.0.3你能帮我find4.0.3的解决scheme吗?

长时间按住actionBar项目隐藏Toast

长时间按下ActionBar项目后,如何隐藏烤面包是否有可能? 我没有设置该项目的标题,但它仍然在那里 – 空吐司。 <item android:id="@+id/ab_main_menu_dots" android:icon="@drawable/action_icons_dots" android:showAsAction="always"> <menu> <item android:id="@+id/ab_main_menu_my_profile" android:showAsAction="never" android:title="@string/ab_my_profile"> </item> <item android:id="@+id/ab_main_menu_settings" android:showAsAction="never" android:title="@string/menu_settings"> </item> <item android:id="@+id/ab_main_menu_help" android:showAsAction="never" android:title="@string/tv_help_login"> </item> <item android:id="@+id/ab_main_menu_about_us" android:showAsAction="never" android:title="@string/ab_about_us"> </item> <item android:id="@+id/ab_main_menu_logout" android:showAsAction="never" android:title="@string/bt_logout_main"> </item> </menu> </item>

android地图:如何长时间点击地图?

如何长时间点击地图视图,以便在地图上的某个位置显示一个位置标记? 我尝试了几个方法没有成功: 1)在setOnLongClickListener上使用setOnLongClickListener ,它永远不会检测到longclicks。 2)我的另一个想法是扩展MapView来覆盖dispatchTouchEvent 。创build一个GestureDetector来响应longpresscallback。 但是我被困在这里,因为我无法得到我的子类Mapview的句柄。 即 MyMapview mymapview; //MyMapView extends MapView //results in a classcast exception mymapView = (MyMapView) findViewById(R.id.map); 3)我知道如何去尝试这个唯一的方法是:检测一个MotionEvent.ACTION_DOWN并将一个延迟的可运行时间发布到一个处理程序,并检测longpress,如果其他两个事件:acton_move或一个action_up没有发生。 有人可以提供任何这些方法的想法检测长按?

Android – 为什么onItemLongClick(…)返回一个布尔值?

来自Java的背景,我习惯于处理行动,虽然我不太确定为什么该方法需要返回一个布尔值,并没有完全理解网站上给出的解释:如果callback消耗了长时间点击,则为true,false除此以外。