设置 ScrollView 内元素相对于屏幕的高度

Sus*_*syP 5 android android-layout

我正在研究一个布局,我希望它看起来像这样:

1

我目前的方法如下:

  1. 我有 ScrollView,其子级为 LinearLayout(蓝色
  2. 我将 LinearLayout 内的元素设置为android:height = "0px"
  3. 我用android:weight = "0.25"黄色)和android:weight = "0.50"橙色)调整它们的高度。

不管怎样,我真正想要的是在 LinearLayout 内设置一些元素,其高度相对于屏幕尺寸。

有没有办法仅使用 xml 来完成此任务?

如果没有,是否有任何建议的 dp 尺寸参考,可以匹配大多数设备中屏幕高度的约 25% 或约 50%?

Zah*_*lwa 0

您可以将 TextView、Button 等元素的大小设置为总屏幕大小的百分比。

您可以从 中获取显示尺寸,WindowManager并将元素高度设置为它的一部分。例如,布局的第二部分是 50%。您可以轻松地将 20%、20%、10% 三个元素放入该 50% 中。不过下面的代码可能会对您有所帮助。

Button button = new Button (this);
android.view.Display display = ((android.view.WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
button.setHeight((int)(display.getHeight()*0.20)); 
Run Code Online (Sandbox Code Playgroud)