2014-02-17 96 views
0

我有一個540像素屏幕大小(寬度)的設備。 我試試這個佈局:佈局不合適Screensize

<LinearLayout 
android:orientation="horizontal" 
android:layout_height="fill_parent" 
android:layout_width="540dp" 
> 

但LinearLayout中比屏幕大。它的範圍在屏幕之外。

我的代碼讀出屏幕尺寸:

DisplayMetrics displaymetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
int width = displaymetrics.widthPixels; 

和工具,所以屏幕是540 PIX寬度,絕對。

怎麼了?

+0

你可以改變DP到像素,並再次嘗試一下嗎? dp不同於px – ucsunil

+0

有關信息,請參閱:http://stackoverflow.com/questions/2025282/difference-between-px-dp-dip-and-sp-in-android – NigelK

回答

0

您在佈局文件中使用的單位是'dp',而實際單位是'px' - 兩者之間存在差異。 'dp'中給出的值由設備縮放。將您的值設置爲540px可以解決您的問題。

0

問題是,dp(以前稱爲首字母縮寫)代表「密度獨立像素」,因此它縮放到屏幕大小。你可以將單位設置爲'px',或者如果你想填滿屏幕,更精確的是使用「match_parent」。

有一個非常有用的文章here