0
Android開發的新功能here.I'm目前正在製作一個應用程序,其中當方向更改時。我想在我的LogCat中的消息。爲此,我在MainActivity中創建了onConfigurationChanged(Configuration newConfig)方法,但在運行該程序時未調用該方法。Android onConfigurationChanged()在Android中的方向程序期間未被調用
基本上,我想停止我的活動從設備方向更改重新啓動。要做到這一點,我已經修改了活動清單文件: 我用
android:configChanges="orientation|screenSize"
android:minSdkVersion="8"
android:targetSdkVersion="17"
ON logcat的我越來越文字如下:
Emulator without GPU emulation detected.
該應用可以做的工作太多了其主線。
我已經找到了解決方案,通過谷歌在其上面targetSdkVersion「17」我們use--
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|layoutDirection"
它也不能正常工作。
任何人都可以幫我嗎?
這是我的MainActivity:
package com.example.orientation;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Configuration c = getResources().getConfiguration();
Log.e("Config",""+c);
if (c.orientation == Configuration.ORIENTATION_PORTRAIT)
{
// portrait
Log.e("On Config Change","portrait");
}
else if (c.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
// landscape
Log.e("On Config Change","LANDSCAPE");
}
}
}
然而,在程序運行時的方向變化,但onConfigurationChanged()方法不會被調用。
有誰知道爲什麼會發生這種情況?
您可以添加Log.e()語句作爲'onConfigurationChanged()的第一行',以確認該線程不進入在所有。也可以嘗試爲onConfigurationChanged()添加'@ Override'行,以確保'onConfigurationChanged()'的簽名是正確的。如果簽名中出現錯誤,您的IDE編輯器將顯示錯誤。 – faizal
你使用'setRequestedOrientation()'?請參閱http://stackoverflow.com/a/6109206/2105986。 – faizal