2010-07-23 29 views
3

假設我添加了頂部填充爲20的線性佈局。是否表示在所有手機中使用20像素填充渲染了佈局?還是根據手機的高度/寬度/密度進行縮放?在不同的手機中填充

回答

0

這取決於您定義填充的程度。如果在你的佈局文件你寫例如

android:paddingTop="20px"

然後是的,它是每一個設備上20像素。

+0

我這樣做的代碼,所以我設置layout.setPadding(0,20,0,0); – Chris 2010-07-23 19:58:33

+0

好的。對不起,沒有得到。我假設這是每個設備上的像素,但我會等待其他答案;) – 2010-07-23 20:04:42

3

Java代碼將成爲所有設備上的像素。如果你想使它密度尊重(如使用20dp或20dip),那麼你可以使用:

float density = context.getResources().getDisplayMetrics().density; 
setPadding(20 * density, blah, blah, blah); 

這密度VAR將是1.0的媒體電話,或多或少取決於屏幕的密度。

+0

您無法將float傳遞給setPadding,請務必使用Math.round()將其轉換爲最接近的int。 – 2016-07-11 08:37:53