java - 状态栏什么时候隐藏?

标签 java android

我将 Activity 设置为全屏(没有 ActionBarStatusBar),如下所示:

在我的 list 中:

<activity
    android:name=".SomeActivity"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"
/>

然后在我的风格中:

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

这工作得很好。没有 ActionBarStatusBar

<小时/>

这就是问题所在。

在我的 Activity onCreate 中,我获取屏幕的显示尺寸 (getRealMetrics),当我按下 Button 时,我会记录这些值,像这样:

Button button;
int mWidth = 0;
int mHeight = 0;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.some_activity);

    DisplayMetrics displayMetrics = new DisplayMetrics();
    WindowManager wm = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    Display disp = wm.getDefaultDisplay();
    disp.getRealMetrics(displayMetrics);


    mWidth = disp.getWidth();
    mHeight = disp.getHeight();

    button = findViewById(R.id.button);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.e("Height = "+String.valueOf(mHeight)+" Width = "+String.valueOf(mWidth));              
        }
    });

}

我正在测试的设备具有以下屏幕尺寸1920x1080。当我按下 Button 时,我会在日志中看到以下内容:

Height = 1857 Width = 1080

我检查了状态栏的高度,它是 63px。这就是 1920 - 63 = 1857。换句话说,当我按下 Button 时,状态栏仍然会被考虑在内。那么,状态栏什么时候隐藏呢?

最佳答案

您可以在“setContentView”之后尝试此操作。

Display disp = getWindowManager().getDefaultDisplay();
mWidth = disp.getWidth();
mHeight = disp.getHeight();

关于java - 状态栏什么时候隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57070748/

相关文章:

java - 方向变化的线程

java - 让圆圈在消失前改变颜色

android - Libgdx:移动旋转的透视相机

安卓 Facebook 图谱 API JSONException 'No value for email'

Java RegEx 模式花费太多时间

java - 在hadoop中,如何获取值中的最后一个元素

android - 如何做一个类似EditText的view来验证短信验证码?

android - scrollView 内的 fragment

Travis-CI 上的 Android Espresso 测试

java - 通过 Ant 运行测试时出现 NoClassDefFoundError 但在 Tomcat 中部署时工作正常