2013-09-30 44 views
0

是否可以在清單中區分平板電腦和手機:我想說的是,如果平板電腦打開tablet.class Java文件或打開phone.class作爲主屏幕。在清單中區分具有手機的平板電腦

我知道我可以根據平板電腦或手機做一個setcontentview,但問題是佈局名稱和其他東西在手機和平​​板電腦中都不同。

例如:

TabletActivity.xml

佈局1和佈局2具有兩個按鈕。

但對於PhoneActivity.xml

佈局1,佈局2,間隔3,佈局4與4個按鈕。

所以,如果我使用相同的JAVA文件 - 我將最終有條件的長代碼 - 而不是如果我可以在開始時區分這一點,如果平板電腦只是打開tablet.class如果不打開phone.class - 這將是更容易爲了我?

AGAIN:我可以在mainactivity.java文件中將手機與手機區分開來。我試着知道我能否做出明顯的原因,因爲我有20個不同的主題,所以我有20個不同的xml文件的平板電腦和手機和一個Java文件(現在,我主要活動的Oncreate - setcontent之前,我檢查如果手機或平板電腦,然後主題價值和相應的設置內容)。我想知道有沒有比這種方法更簡單的方法?

或者我應該使用僅適用於手機或平板電腦的兩種不同的APK嗎?

這可能嗎?

讓我知道!

謝謝!

+0

http://developer.android.com/guide/practices/screens_support.html – 323go

+0

我知道這..這涉及到XML文件..我想它的Java文件。 – TheDevMan

回答

0

試試看看這個代碼。你可以在這之後得到屏幕英寸

String inputSystem; 
inputSystem = android.os.Build.ID; 
Log.d("hai",inputSystem); 
Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); // deprecated 
int height = display.getHeight(); // deprecated 
Log.d("hai",width+""); 
Log.d("hai",height+""); 
DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
double x = Math.pow(width/dm.xdpi,2); 
double y = Math.pow(height/dm.ydpi,2); 
double screenInches = Math.sqrt(x+y); 
Log.d("hai","Screen inches : " + screenInches+""); 

你只是決定什麼是平板電腦,什麼是手機通過screenInches單獨

+0

這對我來說不會有用.. – TheDevMan

0

屏幕英寸不會去做。許多設備處於「泥濘」的中間地帶,可稱爲「平板」。

我們使用佈局來設置我們的設備。我們使用res/layout-sw600dp和res/layout-sw720dp文件夾。它們對應於600或720的顯示像素的最小寬度,這使得一個很好的行列式爲7" 或10" 的設備片劑尺寸

您將通過以下的Android指南,用於確定與該鏈接

器件尺寸得到更好的服務

http://developer.android.com/guide/practices/screens-distribution.html

+0

對我來說不是一個解決方案:( – TheDevMan

相關問題