簡體   English   中英

Android:監聽方向變化?

[英]Android: listen for Orientation change?

我將如何監聽 Android 中的方向變化? 並在用戶切換到橫向時做某些事情?

你有幾個選擇:

在您的清單中,輸入:

<activity android:name=".HelloAndroid"
    android:label="@string/app_name"
    android:configChanges="orientation">

並且,在您的 Activity 中,覆蓋onConfigurationChanged

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    int newOrientation = newConfig.orientation;

    if (newOrientation == Configuration.ORIENTATION_LANDSCAPE) {
      // Do certain things when the user has switched to landscape.    
    }   
}

這是一個很好的教程

在您的活動中,您可以重寫此方法以偵聽方向更改並實現您自己的代碼。

public void onConfigurationChanged (Configuration newConfig)

Configuration Class 有一個 int 常量ORIENTATION_LANDSCAPEORIENTATION_PORTRAIT ,您可以像這樣檢查 newConfig:

super.onConfigurationChanged(newConfig);

int orientation=newConfig.orientation;

switch(orientation) {

case Configuration.ORIENTATION_LANDSCAPE:

//to do something
 break;

case Configuration.ORIENTATION_PORTRAIT:

//to do something
 break;

}

Android 3.2 開始,您還需要在 androidmanifest 中添加“ screenSize ”以進行特定活動

因此,您在 xml 中的活動聲明將變為

<activity android:name=".ExampleActivity"
    android:label="@string/app_name"
    android:configChanges="orientation|screenSize">

從橫向翻轉到反向橫向或從縱向翻轉到反向縱向的方向事件怎么樣?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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