簡體   English   中英

Android如何測試方向變化

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM