2012-07-25 68 views
1

我试图支持API级别10以上的设备。要检查屏幕尺寸我有这样的:如何使用Display.getSize并支持API级别10?

Point size = new Point(); 
Display display = getWindowManager().getDefaultDisplay(); 
if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB_MR2) { 
    size.set(display.getWidth(), display.getHeight()); 
} else 
    getWindowManager().getDefaultDisplay().getSize(size); 

但现在我收到一个错误,因为我用的getSize()即使我的水平最小为10
如何正确地做到这一点?

编辑:在应用的清单文件我有:

<uses-sdk 
    android:minSdkVersion="10" 
    android:targetSdkVersion="15" /> 
+0

发表你的整个登录,目录显示错误。 – 2012-07-25 10:34:44

+0

这不是一个Log-Cat错误。 Eclipse表示,getSize()调用需要API 13,但是我目前的最小目标是10. – IchBinKeinBaum 2012-07-25 11:32:40

回答

2

你可以保持您的最低SDK级别设置为10,但建立自己的Android应用程序针对Android 3.2的(甚至更高,如果你愿意,设置它在项目属性中)。

只要确保如果您调用的方法的API级别高于最低级别,那么首先请像检查一样检查设备SDK级别。

更多在这里:

http://simonvt.net/2012/02/07/what-api-level-should-i-target/

还可以使用TargetApi注解,以避免林特错误:

http://tools.android.com/recent/lintapicheck

+0

这就是我所做的。事实证明,我所要做的就是清理我的eclipse项目...编辑:没关系,它只是将它标记为错误。 – IchBinKeinBaum 2012-07-25 11:29:10

+1

啊,也许你得到一个Lint错误?使用@TargetApi(13)你上面的方法,像这样:http://tools.android.com/recent/lintapicheck – Ran 2012-07-25 11:49:29

+0

它的工作原理。非常感谢。 – IchBinKeinBaum 2012-07-25 13:16:58

相关问题