小编Kar*_*opu的帖子

何获得s8可用屏幕的android?

我是android的菜鸟。我关于18:9设备可用高度的问题。当我尝试在这些纵横比中获得可用的屏幕时,我的应用程序可以正常运行所有android设备,但是何时?在三星银河s8中编译它不起作用。我正在尝试获取可用的设备屏幕。我已经尝试过这些链接中的方法

/sf/ask/3053963321/

https://android-developers.googleblog.com/2017/03/update-your-app-to-take-advantage-of.html

我动态地使用

DisplayMetrics metrics = this.getResources().getDisplayMetrics(); width = metrics.widthPixels; height = metrics.heightPixels ;

我试过了

private int getSoftButtonsBarHeight() {
        // getRealMetrics is only available with API 17 and +
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            DisplayMetrics metrics = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(metrics);
            int usableHeight = metrics.heightPixels;
            getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
            int realHeight = metrics.heightPixels;
            if (realHeight > usableHeight)
                return realHeight - usableHeight;
            else
                return 0;
        }
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试设置参数MATCH_PARENT的高度时,它工作得很好。但是我需要找到可用的高度像素来按比例设计其他视图。

实际上,这些代码DisplayMetrics metrics = this.getResources().getDisplayMetrics(); height = metrics.heightPixels ;在我的Activity中有效,但是当我尝试在另一个窗口(从FramaLayout扩展并添加到Activity中)中使用它时,则无法正常工作。

这是我的代码块

public class StudentLoginActivity …
Run Code Online (Sandbox Code Playgroud)

android aspect-ratio uinavigationbar display

6
推荐指数
1
解决办法
751
查看次数

标签 统计

android ×1

aspect-ratio ×1

display ×1

uinavigationbar ×1