是否可以动态设置人像模式和风景模式?
例如,对于大型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/

10-10 09:38