是否可以动态设置人像模式和风景模式?
例如,对于大型MDPI,大型HDPI和Xlarge,我需要使应用程序在横向和纵向模式下均可使用
对于其他分辨率,例如普通hdpi,普通hdpi和其他,我仅需要纵向模式。
有人可以帮我吗?
最佳答案
是的,有可能强迫这种事情。您可以检测设备的密度,并且可以加载适当的xml文件。
您可以通过查看显示指标来检测密度:
DisplayMetrics metrics = getResources().getDisplayMetrics();
然后查看
metrics.densityDpi
。然后,您可以相应地加载不同的资源。int layoutId;
switch(metrics.densityDpi) {
case DisplayMetrics.DENSITY_LOW:
layoutId = R.layout.lowthingy
break;
case DisplayMetrics.DENSITY_MEDIUM:
layoutd = R.layout.mediumthingy
break;
... (for other densities)
}
setContentView(layoutID);
但是仅仅因为您可以做到这一点,并不意味着您应该这样做。我真的认为这不是最好的方法。我真的认为您应该read this documentation.
关于java - 如何根据设备动态设置方向?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16662704/