如何指定视图高度为屏幕高度的1/3

时间:2012-08-14 14:50:20

标签: android

我创建了一个视图(实际上是一个webview):

<WebView
  android:id="@+id/myWebView"
  android:layout_width="match_parent"
  android:layout_height="@dimen/input_height"
/>

其中指的是另一个xml文件中的高度:

<resources>
    <dimen name="key_height">50dip</dimen>
    <dimen name="candidate_font_height">16sp</dimen>
    <dimen name="candidate_vertical_padding">6sp</dimen>
    <dimen name="input_height">280dip</dimen>
</resources>

我将input_height设置为280dip,我理解为280像素(独立设备),大约320像素(或模拟320像素)高度。

在我的两个设备(小型索尼爱立信xperia x10 mini,320像素屏幕,以及旧的htc欲望)上,它工作正常,提供了大约1.3屏幕高度的视图高度。我的一位测试人员正在使用三星Galaxy S,并且他们报告该视图占用的频率超过了整个屏幕。

我认为这个问题与屏幕密度有关,但我认为使用dip会绕过这个问题。

如何定义布局视图以避免此问题?

2 个答案:

答案 0 :(得分:0)

您可以检测屏幕的大小,然后进行一些数学运算以获得屏幕尺寸的1/3。要检测屏幕尺寸,请查看this

答案 1 :(得分:0)

在此之前,您需要按照此处显示的方法找到屏幕的宽度和高度:Get screen dimensions in pixels

您需要使用layoutparams动态地为您的布局设置参数。看这里:http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html

将布局参数设置为您想要的任何内容