2013-06-02 62 views

回答

-1

如果你定義了平板電腦的設備與屏幕比7" 大

public static boolean isTablet() { 
    return screenSize >= 7; 
} 

public static double getScreenSize(Activity activity){ 
    DisplayMetrics dm = new DisplayMetrics(); 
    activity.getWindowManager().getDefaultDisplay().getMetrics(dm); 
    double x = Math.pow(dm.widthPixels/dm.xdpi,2); 
    double y = Math.pow(dm.heightPixels/dm.ydpi,2); 
    screenSize = Math.sqrt(x+y);   
    return screenSize; 
} 
+1

我相信「最小寬度」的資源,如sw600dp限定符不低於3.2 Android版的工作?我無法使用layout-large,因爲屏幕尺寸爲5.4,5.8,6.3的設備也屬於該類別(而第一款三星Galaxy Tab認爲它具有正常佈局)。這是我在我的項目中遇到的問題,除了計算屏幕尺寸外,沒有其他方法適用於我。 – Ethan

0

沒有辦法,你可以設置一個布爾內RES /值

<bool name="isHandest">false</bool> 

values-sw600dpvalues-sw720dpvalues-xlarge

and

<bool name="isHandest">true</bool> 

res/values

+0

平板電腦7英寸運行3.0操作系統,這將無法工作 –

+0

它應該在值大。 Imho a 7「with android lower.than 3.2它不是平板電腦 – Blackbelt

0

使用最小寬度限定符:

的最小寬度限定詞讓您針對那些在DP給予 一定的最小寬度的屏幕。例如,典型的7" 平板電腦 有600個DP的最小寬度,所以如果你想你的用戶界面有這些菜單上的兩個 窗格(但在小屏幕上一個列表),您可以 使用來自相同的兩個佈局單和 雙窗格佈局,但不是大尺寸預選賽中,使用sw600dp 來表示兩個窗格佈局的一節是在其上 最小寬度爲600 DP

屏幕你可以使用不同的佈局或將這些文件夾中的布爾:

<resources> 
    <bool name="is_tablet">true</bool> 
</resources> 

來自官方的文檔: http://developer.android.com/training/multiscreen/screensizes.html

+0

但如果操作系統小於3.2其無用 –

+0

使用layout-large ... –

相關問題