若要偵測使用者螢幕方向,並使用對應不同xml的layout,可使用下列方式︰
- 設計兩種不同layout的xml檔案。
- 在AndroidManifest.xml中要改變的activity中新增屬性︰
android:configChanges="orientation|keyboardHidden|screenSize"
- 如此一來當方向或螢幕大小改變的時候,就會觸發︰
onConfigurationChanged(Configuration newConfig)
- 依照類似下面的方式判斷長寬,以決定適用的layout file。
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Display display = getWindowManager().getDefaultDisplay();
int width;
int height;
Point size = new Point();
display.getSize(size);
width=size.x;
height=size.y;
if (width>height) { //Landscape
setContentView(R.layout.activity_main_land);
initView();
}
else{
setContentView(R.layout.activity_main_port);
initView();
}
}
沒有留言:
張貼留言