如何消失(不是隐形的)NavigationBar?

How To gone (not invisible) NavigationBar?

我尝试通过以下代码隐藏 NavigationBar:

public static void setFullscreen(final View decorView) {
    decorView.setOnSystemUiVisibilityChangeListener(new View.OnSystemUiVisibilityChangeListener() {
        @Override
        public void onSystemUiVisibilityChange(int visibility) {
            if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
                decorView.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);
            }

        }
    });

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
        decorView.setSystemUiVisibility(decorView.getSystemUiVisibility());
    }
}

并且对于每个 Activity:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        getWindow().getDecorView().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);}
}

及活动主题:

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

我成功隐藏了 NavifationBar,但是 NavigationBar 只是不可见,并没有消失!

所以真正的问题是 导航栏怎么走了?

抱歉我的英语不好。

您不需要单独的查询来通过 NOW() 获取当前时间,您可以将其合并到您的查询中

DELETE FROM current_questions WHERE createTime > NOW() - INTERVAL 1 MINUTE 

比一分钟前 createTime 多。

同样重要的是要知道 mysql 扩展已被弃用,将来会被删除:使用 mysqli 或 PDO 代替

mysql_query 函数 returns 资源。

您仍然需要从资源中获取数据

$serverTime = mysql_query("SELECT NOW()") or die(mysql_error());
$data = mysql_fetch_array($serverTime);
$serverTime = $data[0]; // and from now it should work.
mysql_query("DELETE FROM current_questions WHERE TIMESTAMPDIFF( MINUTE ,`createTime`,'$serverTime')")or die(mysql_error());

其他答案更好,但最好回过头来从自己的错误中逐步吸取教训。

另一件事,你应该使用 mysqli 扩展而不是 mysql。那个比较旧,很快就会被弃用。

资源:

http://php.net/manual/en/function.mysql-fetch-array.php

http://php.net/manual/en/function.mysql-query.php