设置ScrollView中元素相对于屏幕

时间:2015-09-29 12:40:39

标签: android android-layout

我正在制作布局,我希望它看起来像这样:

1

我目前的做法如下:

  1. 我的ScrollView以LinearLayout为子(蓝色
  2. 我使用android:height = "0px"
  3. 在LinearLayout中设置元素
  4. 我使用android:weight = "0.25"黄色)和android:weight = "0.50"橙色)调整高度。
  5. 无论如何,我真正想要的是在LinearLayout中设置一些相对于屏幕尺寸的高度的元素。

    有没有办法只使用xml来实现这个目标?

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

1 个答案:

答案 0 :(得分:0)

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

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

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