1

我正在创建一个搜索栏,它将搜索 listview 的内容。我已经完成了一些代码,现在它工作正常,但我想添加的还有一件事是,当用户有一段时间没有触摸屏幕时,这个 searchBar 应该自动隐藏。如果可能的话,在 Android 中是否可能,请给我一些建议。 谢谢

4

2 回答 2

0

实现一个 onTouchListener

 // Catch touch events here
@Override
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        System.out.println("Touch Down X:" + event.getX() + " Y:" + event.getY());//hide search bar
    } 
    if (event.getAction() == MotionEvent.ACTION_UP) {
        System.out.println("Touch Up X:" + event.getX() + " Y:" + event.getY());//shows the search bar
    }
    return super.onTouchEvent(event);
}

然后在这个你会想要引用按钮并设置它的可见性:

  searchbar.setVisibility(View.VISIBLE); or View.INVISIBLE
于 2012-06-06T09:27:31.063 回答
0

您可以使用 android Activity 的 onUserInteraction api。

http://developer.android.com/reference/android/app/Activity.html#onUserInteraction

您可能需要打开/关闭标志 onUserInteraction。然后,一个线程可能会每隔 30 秒左右轮询一次以读取此标志。如果空闲时间大于您想要的时间,您可以隐藏搜索栏。

于 2012-06-06T09:28:24.893 回答