Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将视图高度设置为屏幕大小的百分比(以编程方式)_Java_Android_Xml_Android Layout_Layout - Fatal编程技术网

Java 将视图高度设置为屏幕大小的百分比(以编程方式)

Java 将视图高度设置为屏幕大小的百分比(以编程方式),java,android,xml,android-layout,layout,Java,Android,Xml,Android Layout,Layout,我正在使用AndroidSlidingUpPanel库。 我的activity_main.xml有两个孩子。第一个子级是主布局。第二个子项是向上滑动面板的布局。 在这里,我已经张贴了向上滑动面板的布局。 按15:15:60:10%的比例定义了4个线性布局。 第一个布局将在面板中可见。现在我希望面板高度为第一个布局的3/4。在这里,第一个布局占据了屏幕的15%,但是面板高度应该是屏幕的10-12% 是否有任何方法或公式可用于获取屏幕大小,并根据此处提供的xml文件的第一个布局设置面板高度 我试图

我正在使用AndroidSlidingUpPanel库。

我的activity_main.xml有两个孩子。第一个子级是主布局。第二个子项是向上滑动面板的布局。 在这里,我已经张贴了向上滑动面板的布局。 按15:15:60:10%的比例定义了4个线性布局。 第一个布局将在面板中可见。现在我希望面板高度为第一个布局的3/4。在这里,第一个布局占据了屏幕的15%,但是面板高度应该是屏幕的10-12%

是否有任何方法或公式可用于获取屏幕大小,并根据此处提供的xml文件的第一个布局设置面板高度

我试图在Java代码中定义面板高度。但到目前为止还没有成功。 有时第二种布局也显示在面板中,有时仅显示第一种布局的一半或1/4

PS:在设置ContentView之前,有没有办法找到视图的高度


可以获得屏幕的高度(以像素为单位)。也可以得到屏幕DPI的密度。 两者的比例将给出屏幕的实际高度

 DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics();

      float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
      float dpWidth = displayMetrics.widthPixels / displayMetrics.density;

在获得与密度无关的物理量dpWidth后,可以轻松地对其应用百分比

可以获得屏幕的像素高度。也可以得到屏幕DPI的密度。 两者的比例将给出屏幕的实际高度

 DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics();

      float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
      float dpWidth = displayMetrics.widthPixels / displayMetrics.density;
在获得与密度无关的物理量dpWidth后,可以轻松地对其应用百分比