2013-10-17 49 views
0

在我的android应用程序,我有一个布局,其中包含许多按钮和旋钮。我还为各个屏幕尺寸(hdpi,xhdpi等)添加了不同的布局。问题是在模拟器中用Nexus S(表示为hdpi)测试我的layout-hdpi时,它看起来很好,但是当用Nexus One(也用hdpi表示)测试时,按钮重叠? 在布局中,所有尺寸都在dp! 所以我不应该收到与hdpi中的两个设备相同的结果?问题与android应用程序不同的布局大小

+0

有没有办法将with和height百分比设置为屏幕大小,例如:一个按钮的宽度是33%? – wasp256

+0

@ wasp256 yup使用带权重的线性布局将工作为% – Prateek

回答

1

我有同样的问题,你应该做的是获得屏幕高度:宽度比,并命名它,以及比率。 所以你的ratio = height/width然后代替在dp中使用按钮或其他元素的精确尺寸的大小,以你的元素在视图中占据的部分的形式取大小。

我想我让你感到困惑那里,但它很容易的,例如参见:

,如果你有,你想在屏幕的上半部分添加一个图像,然后不说身高= 150dp或宽度= 200dp你的屏幕高度是h,所以你的图像高度是h/2,宽度就是h/ratio。

这也可以在横向模式下工作,您不必在横向模式下找到按钮,因为它们不在屏幕上。

+0

所以我将不得不在java中设置所有大小,而不是在layout.xml文件中? – wasp256

+0

是的,我知道这并不方便,但这是唯一可以做的事情,如果你想保持比例的东西。 – Mayank