2013-10-17 51 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