是否可以将平板电脑与清单中的手机区分开来:我想说平板电脑是否打开了tablet.class Java文件,或者打开phone.class作为主屏幕。
我知道我可以根据平板电脑或手机进行setcontentview,但问题是手机和平板电脑的布局名称和其他内容都不同。
例如:
TabletActivity.xml
布局1和布局2带有两个按钮。
但是对于 PhoneActivity.xml
布局1,布局2,布局3,布局4,带4个按钮。
所以如果我使用相同的JAVA文件 - 我最终会有条件的长代码 - 相反,如果我可以在开头区分这个如果平板电脑只是打开tablet.class如果没有打开phone.class - 这将更容易我吗?
重新:我可以在mainactivity.java文件中区分平板电脑和手机。我试着知道我能否在明显的原因做到这一点因为我有20个不同的主题所以我有20个不同的xml文件用于平板电脑和手机以及一个java文件(现在,我的主要活动的Oncreate - 在我检查之前的setcontent如果手机或平板电脑然后主题值和相应的设置内容)。我想知道有没有比这种方法更简单的方法???
或者我应该使用仅适用于手机或平板电脑的两种不同的APK?
这可能吗?
让我知道!
谢谢!
答案 0 :(得分: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决定什么是平板电脑和什么是手机
答案 1 :(得分:0)
单独的屏幕英寸不会这样做。很多设备都在" muddy"中间地带,可以被称为" phablet"。
我们使用布局来设置我们的设备。我们使用res / layout-sw600dp和res / layout-sw720dp文件夹。它们对应于最小宽度为600或720的显示像素的设备,这对于7&#34而言是一个很好的决定因素。或10"平板电脑尺寸
通过使用此指南确定设备尺寸的Android指南
,您将获得更好的服务http://developer.android.com/guide/practices/screens-distribution.html