Im使用OrientationEventListener检测方向,但我有一个问题,那就是平板电脑是横向的,手机是默认的纵向。这意味着OrientationEventListener在平板电脑上返回的值为90,而手机上的肖像为0。OrientationEventListener(Tablet vs Mobile)90度差
我正在使用的活动有相机,因此我无法在方向之间更改,因此我使用Orientation的值根据需要在屏幕上重新定位了几个元素。
是否可以检测设备是否为平板电脑,以便我可以相应地调整该值。即我如何计算isTablet的价值?
if(isTablet)
{
orientation += -90;
if(orientation < 0) //Check if we have gone too far back, keep the result between 0-360
{
orientation += 360;
}
}
我希望能够在SDK中忽略一个方法。我不认为走检查设备/型号/产品描述的路线是一个好主意。但是,检查xlarge/large可能会更好。我确信xlarge会覆盖所有的7“+平板电脑,但是大的想法可能最终影响星系联系,三星音符和三星S2和S3。感谢这个想法,生病了吧:) – JonWillis
Configuration.SCREENLAYOUT_SIZE_LARGE和4(作为Configuration.SCREENLAYOUT_SIZE_XLARGE是API9),至少在我的物理测试设备中起作用 – JonWillis