我已经编写了一个自定义视图,并且我使用 onSizeChanged() 来获取手机的宽度和高度。当我安装在手机上的模拟器中一切看起来都正确时(htc 愿望),我没有相同的结果!
我能做些什么来支持不同的屏幕?onSizeChanged 不应该给我解决方案?
您必须注意像素密度和像素数。
一切都在这里:http: //developer.android.com/guide/practices/screens_support.html
答案很大程度上取决于你的布局,如果没有更多细节,最好的开始显然是官方教程。
首先要知道的是您要支持的设备集。您的应用程序仅适用于智能手机吗?平板电脑?两个都?然后,您希望支持哪些屏幕尺寸、分辨率和密度?您希望您的应用程序优雅地适应不受支持的设备,或者您希望它隐藏在 Play 商店中?
一般来说,您不应该在 Java 端做这些工作,而应该在资源端做更多的工作(即使有时是不可能的)。