我創建了一個android應用程序,以支持移動android手機和galaxy選項卡,我需要動態調整文本,它是移動版本(佈局 - 小)我需要爲文本視圖動態設置文本爲「手機」,否則,如果它是三星Galaxy Tab或其他Android標籤,我需要動態地將文本設置爲「Galaxy Tab」。如何確定Android或galaxy選項卡?
如果有人知道解決方案幫助我嗎?
謝謝。
我創建了一個android應用程序,以支持移動android手機和galaxy選項卡,我需要動態調整文本,它是移動版本(佈局 - 小)我需要爲文本視圖動態設置文本爲「手機」,否則,如果它是三星Galaxy Tab或其他Android標籤,我需要動態地將文本設置爲「Galaxy Tab」。如何確定Android或galaxy選項卡?
如果有人知道解決方案幫助我嗎?
謝謝。
你可以使用此功能動態確定設備的寬度:
int screenWidth=getWindowManager().getDefaultDisplay().getWidth();
如果寬度大於480,則必須是標籤否則設備是android手機。 使用此功能,您可以根據screenWidth動態設置文本。
Build.Model應該告訴你該設備是什麼型號。
(或者,你可以看看DisplayMetrics得到屏幕尺寸/分辨率,這不會告訴你確切的型號,但會告訴你,你是否希望你的小或大的佈局。)
另一種方法是檢查屏幕大小分類:
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標誌檢查其它屏幕尺寸。
這不會是最好的方式,因爲有很多QHD分辨率的手機(960x540) – magicman 2011-06-19 15:29:22
@magicman:建議更好的方式,如果你有...我會盡量... – 2011-06-19 15:40:54
我沒有更好的方法。我會做你的建議。我現在唯一要改變的是檢查width> 540。但在未來,當我們獲得更高的分辨率時,這將最終成爲一個問題。 – magicman 2011-06-22 00:33:35