小编Tho*_*mas的帖子

显示Alert Dialog Android时隐藏状态栏

我正在创建一个应用程序,当您按下某个按钮时会弹出一个警告对话框.状态栏需要隐藏,所以我的活动中有一个方法:

private void hideStatusBar(){
    if (Build.VERSION.SDK_INT < 16){
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }
    else {
        View decorView = getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在activity的onCreate方法中调用此方法,并且它会正常工作,直到弹出警告对话框.显示警告对话框后,状态栏将立即返回.我尝试了以下方法:

alertDialog.show();
hideStatusBar();
Run Code Online (Sandbox Code Playgroud)

哪个没用.然后我为我的活动覆盖了onWindowFocusChanged方法:

public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    hideStatusBar();
}
Run Code Online (Sandbox Code Playgroud)

这使状态栏的背景透明,但仍然不隐藏它.有没有办法在显示警告对话框时隐藏状态栏?

android statusbar android-alertdialog

10
推荐指数
3
解决办法
8234
查看次数

onStop vs onDestroy

我试图准确研究何时为一项活动调用onDestroy方法,但我已经阅读了一些令人困惑和冲突的信息.一般来说,我的问题是:在什么情况下onDestroy方法实际上调用了一个活动?更具体地说,如果我有两个活动,即活动A和活动B,如果活动A正在运行并且我创建了一个意图并切换到活动B,那么活动A是仅停止还是被销毁?

android activity-lifecycle android-activity

9
推荐指数
1
解决办法
1万
查看次数

Visual Studio 2017重置设置

我有一份Visual Studio Enterprise 2017,我通过我的大学收到并安装在我的台式计算机上.最近,我买了一台新的笔记本电脑,希望能够在我不在家的时候完成我的作业和项目,所以我下载了Visual Studio Community 2017进行安装.当我第一次在笔记本电脑上打开VS时,我登录了与桌面相同的帐户,并注意到我的两台计算机之间的某些设置已同步.但是,今天早上当我在桌面上工作时,我意识到,在我的笔记本电脑上安装VS之后,一些设置(主要是代码格式设置,比如使用标签与空格等)已经重置为我的默认值桌面.

将我的设置更改为原来的设置会令人沮丧.有没有办法在重置之前轻松将所有设置还原为?如果我在新计算机上安装VS,有没有办法防止将来发生这种情况?

visual-studio-2017

9
推荐指数
1
解决办法
2万
查看次数

将Java 8与LibGDX一起使用

我正在使用LibGDX编写一个Java游戏,仅desktop作为目标平台.我刚刚创建了一个新的LibGDX项目,并将一些现有代码导入其中,但现在我遇到了一些错误.具体来说,使用diamond operator.例如,这行代码:

HashMap<String, Integer> connectionsMap = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)

正在生成此错误:

Error:(20, 37) java: diamond operator is not supported in -source 1.6
(use -source 7 or higher to enable diamond operator)
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想使用Java 8.我导入的模块中的Gradle文件已保留,因此我将整个项目sourceCompatibility中所有其他build.gradle文件中的行更改1.61.8,并确保在Project Structure > Project > Language Level设置为Java 8时但是,我仍然遇到这个问题.我的项目使用Java 8还需要改变什么?

java gradle libgdx java-8 build.gradle

5
推荐指数
1
解决办法
1989
查看次数

在 Raspberry PI 3 上使用 Android Things 关闭 HDMI 输出

我正在使用 Raspberry Pi 3 创建一个 Android Things 设备,它将连接到监视器。显示器应该一直开着,但我想要一种“关闭”设备的方法(关闭 HDMI 输出,以便显示器可以进入低功耗待机模式),以便我可以打开设备远程或使用计时器打开和关闭,而不必手动按下显示器的电源按钮。

有没有办法在 Android Things 项目中控制 Raspberry Pi 的 HDMI 输出(打开或关闭显示器)?

hdmi raspberry-pi3 android-things

5
推荐指数
0
解决办法
703
查看次数

使用commit --amend时,使子分支与父分支保持最新

我目前的git仓库有三个分支:mainlinefeature_a,和feature_b。历史如下:

  1. mainline 是从远程仓库中克隆的
  2. feature_a 已从检出分支 mainline
  3. 进行更改feature_a并提交给commit_a
  4. feature_b 已从检出分支 feature_a
  5. 进行更改feature_b并提交给commit_b
  6. 已更改feature_a并修改为commit_a

如何feature_b使用修改后的更新来更新分支commit_a

git

2
推荐指数
1
解决办法
445
查看次数

调用 glGetString 时访问冲突错误

我正在使用 SDL2 + GLAD 在 C++ 中创建一个 OpenGL 应用程序。在我的主函数中,我有以下代码:

#include <iostream>
#include <SDL.h>

#include <glad\glad.h>

int main(int argc, char *argv[]) {
    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
        std::cout << "SDL could not be initialized.";
        return 1;
    }

    SDL_GL_LoadLibrary(nullptr);

    SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1);

    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 4);

    SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 5);

    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
    SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);

    SDL_Window *window = SDL_CreateWindow("Hello world", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 500, 500, SDL_WINDOW_OPENGL);

    if (window == nullptr) {
        std::cout << "SDL could not open window";
        return 1;
    }

    const SDL_GLContext context = SDL_GL_CreateContext(window);

    if (context == …
Run Code Online (Sandbox Code Playgroud)

c++ opengl sdl-2 glad

2
推荐指数
1
解决办法
939
查看次数