Android 固定尺寸屏幕元件

Android 固定尺寸屏幕元件,android,android-layout,Android,Android Layout,我试着制作一个简单的应用程序,看看我是否可以制作一个固定大小的元素,在这种情况下,4厘米宽,而不管设备如何。为此,我尝试使用屏幕xDPI,将其作为一英寸,乘以一个常数得到4cm。在几个不同的设备上试用后,它似乎不起作用 final WindowManager w = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE); final Display d = w.getDef

我试着制作一个简单的应用程序,看看我是否可以制作一个固定大小的元素,在这种情况下,4厘米宽,而不管设备如何。为此,我尝试使用屏幕xDPI,将其作为一英寸,乘以一个常数得到4cm。在几个不同的设备上试用后,它似乎不起作用

    final WindowManager w = (WindowManager) getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
    final Display d = w.getDefaultDisplay();
    final DisplayMetrics m = new DisplayMetrics();
    d.getMetrics(m);

    //find the correct x density and multiply it by 1.5748 to get 4cm
    float density = m.xdpi;
    density = (float) (density * 1.5748);
    int intDensity = (int)Math.ceil(density);

    //now set the view to be the dimensions that you want, it must be inside of it's own layout?
    box.setLayoutParams(new LinearLayout.LayoutParams(intDensity,100));

有什么建议吗?

这就是dpi在汉克斯的意义,再看一眼,一切都比我最初想象的好。因为我对高度进行了硬编码,所以在不同密度的屏幕上,它在我看来是不一样的。好的,尺寸相关的问题在android上可能会非常棘手:/