2013-08-21 76 views
4

如果我想通過編程設置在Java中的ImageView的寬度/高度,就像這樣:ImageView的getLayoutParams寬度單位

image_view.getLayoutParams().width = 200; 

什麼是那些「200」的單位?它是px/dp嗎?
它在每個設備上看起來「相同」嗎? (這意味着:這是非常大的平板電腦和小全智能手機?)

回答

2

http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html

相當肯定它的像素。

高度,無論是MATCH_PARENT,WRAP_CONTENT或以像素爲單位

+0

我看到的,所以它具有更高分辨率的屏幕非常小的,對不對? –

+0

不幸的是,我不是一名Android開發人員,我無法證實這100%。 – Damian

+0

是的。因爲您將像素值設置爲px,所以對於大型設備來說它看起來非常小。 – Sushil

2

它是在像素的固定大小。但要獨立設備,我們需要在dp中設置值。

所以,在你的代碼,你可以寫一個swicth情況,並根據屏幕分辨率,你可以從設備metrices得到的,可以設置相應的值是這樣的:

DisplayMetrics metrics = this.getResources().getDisplayMetrics(); 
    if(metrics.density == 1) 
     // 
    else if(metrics.density == 2) 
     // 
    else if(metrics.density == 1.5) 
     // 

你也可以改變像素值DP使用公式:

PX = DP *(DPI/160)