android - 如何检查后退/主页按钮是触摸按钮还是硬件按钮?

标签 android

我正在尝试制作贪吃蛇游戏。我一直在我的 nexus 4 上测试游戏,它有后退/主页按钮作为触摸按钮,所以当我想全屏 Activity 时,触摸按钮会出现在 Activity 上方,所以要删除它们,我使用以下代码:

view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

但是当我在我 friend 的带有硬件按钮的索尼爱立信手机上测试游戏时。所以在他的手机上,屏幕的底部边缘更多地延伸到按钮后面的区域。我该如何解决?

这就是我获取屏幕尺寸的方式:

    DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);   
    height = metrics.heightPixels;
    width = metrics.widthPixels;

最佳答案

我 99% 确定它们在编程上是相同的。一个使用你的 body 电阻来触发信号,另一个使用机械开关。它就像一个门 Handlebars ,可以是圆形的,也可以是有 Handlebars 的。如果您正在谈论一个 UI 覆盖来模仿一个真正的按钮,那一切都很好地隐藏在操作系统中,并且在您的级别上,它将再次以编程方式相同。最后一种情况,门 Handlebars 类比,现在是自动开门的:-)

但是给你一个解决方案..在 ap 中制作你自己的 GUI 按钮,不要依赖硬件。

关于android - 如何检查后退/主页按钮是触摸按钮还是硬件按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24950499/

相关文章:

android - 同意请求与 Google AdMob 之间的关联以展示个性化或非个性化广告

java - 如何检查当前线程是否不是主线程

java - 为什么我一次只能从 okhttp.Response InputStream 读取 2048 个字节?

java - APK 错误中的重复文件

android - marginTop 不适用于 ConstraintLayout 和 wrap_content

Android - DialogFragment(AlertDialog) 中的 ListFragment : Fragment does not have a view

Java- setter/getter 的最佳实践,单个 setter/getter 或不同变量的多个 setter/getter ?

android - 如果执行异步任务时失去互联网连接,如何处理异常

java - 如何根据显着光值使振动不同?

安卓;从普通 Activity 启动和停止 openGL 动画