在仪表测试中以编程方式设置模拟器/设备方向



在我的仪器测试中,我想在横向和纵向模式下测试一些东西,所以我想在测试开始之前设置方向。是否有一种方法来设置设备或模拟器方向编程?

我知道setRequestedOrientation()方法,但这适用于某个活动,如果另一个活动启动,我必须记住再次调用它。我正在寻找的是一种方法来设置定向"全局",以便每个新活动都自动启动与该定向。

更新:

解决方案必须符合2个要求:1)它让我改变我的生产代码,2)它需要在CI环境中运行。

我创建了一个ViewAction来简化这个操作:https://gist.github.com/nbarraille/03e8910dc1d415ed9740

在注释中描述了用法。

你可以为你所有的activity创建一个自己的AbtractActivity类。

public abstract class AbstractActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
}

现在你必须从这个类继承你所有的活动。

可以同时启动两个模拟器,一个在纵向模式,一个在纵向模式。

使用ctrl + f12改变模拟器的方向。

最新更新