我正在开发一款应用程序,它可以在4.7英寸以上的设备上运行,并且在纵向和横向都可以运行。如何锁定某些屏幕尺寸的方向?
现在的问题是,我有大约50左右的活动,如果设备屏幕尺寸为小于等于5英寸,我想锁定方向为垂直。我可以使用下面的代码设置方向锁定: -
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
上面的代码,我可以用它来锁定方位和下面的代码显示的指标: -
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
或
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
现在我的问题是,什么是适当的方法来锁定设备的方向< = 5英寸,我必须在我的所有活动中编写此代码? 另外,我无法使用baseActivity进行扩展,因为大多数活动已经在扩展自定义侦听器类
我无法扩展使用,因为大部分活动已经在扩展自定义侦听器类 –
好的。然后你必须创建一个具有静态方法的Util,该方法使用相关的参数{activity,...}来提供可重用性特性。但是你必须从每个活动中调用Util.setRequestedOrienation(activity,...)。我会说,它更像是设计架构问题,它总是会让你陷入这种情况。 – Deminem