2011-06-07 63 views
3

我創建了一個android應用程序,以支持移動android手機和galaxy選項卡,我需要動態調整文本,它是移動版本(佈局 - 小)我需要爲文本視圖動態設置文本爲「手機」,否則,如果它是三星Galaxy Tab或其他Android標籤,我需要動態地將文本設置爲「Galaxy Tab」。如何確定Android或galaxy選項卡?

如果有人知道解決方案幫助我嗎?

謝謝。

回答

0

你可以使用此功能動態確定設備的寬度:

int screenWidth=getWindowManager().getDefaultDisplay().getWidth(); 

如果寬度大於480,則必須是標籤否則設備是android手機。 使用此功能,您可以根據screenWidth動態設置文本。

+0

這不會是最好的方式,因爲有很多QHD分辨率的手機(960x540) – magicman 2011-06-19 15:29:22

+0

@magicman:建議更好的方式,如果你有...我會盡量... – 2011-06-19 15:40:54

+0

我沒有更好的方法。我會做你的建議。我現在唯一要改變的是檢查width> 540。但在未來,當我們獲得更高的分辨率時,這將最終成爲一個問題。 – magicman 2011-06-22 00:33:35

1

Build.Model應該告訴你該設備是什麼型號。

(或者,你可以看看DisplayMetrics得到屏幕尺寸/分辨率,這不會告訴你確切的型號,但會告訴你,你是否希望你的小或大的佈局。)

3

另一種方法是檢查屏幕大小分類:

int mask = Configuration.SCREENLAYOUT_SIZE_MASK; 
int size = context.getResources().getConfiguration().screenLayout; 
if ((size & mask) == Configuration.SCREENLAYOUT_SIZE_XLARGE) { 
    // Screen is classified x-large 
} 

您可以用同樣的方法,通過使用不同的值的Configuration標誌檢查其它屏幕尺寸。

相關問題