![](/img/trans.png)
[英]How do you force an orientation change in an Android Instrumentation test?
[英]Android how to test orientation change
我有一個關於單元測試android方向轉換的問題。 我在我的應用程序中支持Portrait和Landscape,我必須測試在方向更改時是否正確繪制了視圖層次結構。
我創建了兩個測試方法來檢查這個,我有這樣的事情:
public void testOnCreate() throws Exception {
//Check all the activity components
assertNotNull(activity);
assertNotNull(application);
//Check if the rights components are available on the screen
assertNotNull(LayoutInflater.from(activity));
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
testOrientationPortrait();
}
在這種特殊情況下,測試通過,並正確繪制視圖層次結構。 但是當我嘗試使用以下方法測試景觀時:
public void testOrientationChange() throws Exception {
assertNotNull(activity);
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//Check if the rights components are available on the screen
assertNotNull(LayoutInflater.from(activity));
testOrientationLandscape();
}
方向更改,但視圖層次結構失敗,因為視圖具有縱向屬性。
任何想法如何解決這一問題?
謝謝,方舟
重寫此方法並在方法中進行更改:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
}
別忘了添加
<activity
android:configChanges="orientation"
>
</activity>
在你的清單中。
這可以用來檢查方向。 getResources()。getConfiguration()。方向
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.