我需要帮助弄清楚如何检查设备是否配备搜索硬件按钮。这可能吗?
编辑:我说的是查明设备是否有搜索硬件按钮。简单的问题。每个安卓设备都有一组硬件按钮;菜单、主页按钮、后退按钮和搜索按钮。但有些设备只配备了其中的一部分,而不是全部。
编辑 2:我问的原因是因为如果设备没有配备硬件按钮,我想在我的 UI 中显示一个软件按钮。我正在使用 searchable我的 Activity 中的界面。我没有遵循 EditText/TextField 方法。
最佳答案
我认为您不需要检测它是否真的有搜索硬件按钮。该框架将在这里为您提供帮助(不过,我相信一旦 Ice Cream Sandwich 发布,这个过程将会得到简化)
目前,唯一没有硬件搜索的设备是 Honeycomb 平板电脑。因此,通过使用 android:targetSdkVersion="11"
(或更高版本),将 implements OnQueryTextListener
添加到您的 Fragment
或 Activity
,然后添加如下内容:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.notebooks_menu, menu);
final SearchView sv = new SearchView(getActivity());
sv.setOnQueryTextListener(this);
menu.findItem(R.id.search_notebooks).setActionView(sv);
}
您将从根本上解决问题。现在,要让它在 Honeycomb 之前的设备上运行,您可能需要使用 compatibility library ,或者在您的代码中使用反射或其他一些守卫。
编辑
Samsung Galaxy S II 没有专用的硬件搜索按钮,但如果您按住菜单按钮几秒钟,它将开始用作硬件搜索按钮。 p>
关于android - 检查 Android 设备是否有搜索硬件按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7269891/