반응형
이놈의 폰을 세로로 쓰다가 가로로 기울이면 화면 전환이 일어 난다.
뭐 가로,세로 같은 화면을 쓰겠다면야 상관 없겠지만 다른 화면을 보여주고 싶으면
화면 방향 전환이 됐다는 이벤트를 잡아 와서 각각 레이아웃을 바꿔치기 하면 된다.
그러면 onConfigurationChanged 를 구현해 주면 된다.
레이아웃을 가로,세로 두개로 구현해서 바뀌는거에 따라서 맞춰주면 된다.
근데 그러면 간월적으로 폰을 가로로 들고 해당 앱을 실행 시키는 이상한 애들이 있을 수도 있다.
onConfigurationChanged 얘가 있어서 알아서 해 줄 것 같지만 안 해준다. 썩을...
앱이 실행된 상태에서 일어나는 전환 이벤트에 대해서만 처리를 해 주나 보다.
그러면 시작할때 잡아와야 하니까 onCreate 에다가 요렇게 넣어주면 된다.
가로로 실행하든지 세로로 실행하든지 맘대로 하라 그래라.
이 정도 알려 줬는데 그냥 가면 혼난다!! ㅋㅋ
뭐 가로,세로 같은 화면을 쓰겠다면야 상관 없겠지만 다른 화면을 보여주고 싶으면
화면 방향 전환이 됐다는 이벤트를 잡아 와서 각각 레이아웃을 바꿔치기 하면 된다.
그러면 onConfigurationChanged 를 구현해 주면 된다.
// 화면 전환시 레이아웃 변경
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // 세로 전환시 발생
setContentView(R.layout.main_vertical);
} else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // 가로 전환시 발생
setContentView(R.layout.main_horizontal);
}
afterLayoutChanged();
}
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // 세로 전환시 발생
setContentView(R.layout.main_vertical);
} else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // 가로 전환시 발생
setContentView(R.layout.main_horizontal);
}
afterLayoutChanged();
}
레이아웃을 가로,세로 두개로 구현해서 바뀌는거에 따라서 맞춰주면 된다.
근데 그러면 간월적으로 폰을 가로로 들고 해당 앱을 실행 시키는 이상한 애들이 있을 수도 있다.
onConfigurationChanged 얘가 있어서 알아서 해 줄 것 같지만 안 해준다. 썩을...
앱이 실행된 상태에서 일어나는 전환 이벤트에 대해서만 처리를 해 주나 보다.
그러면 시작할때 잡아와야 하니까 onCreate 에다가 요렇게 넣어주면 된다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ( this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // 세로
setContentView(R.layout.main_vertical);
} else { // 가로
setContentView(R.layout.main_horizontal);
}
}
super.onCreate(savedInstanceState);
if ( this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { // 세로
setContentView(R.layout.main_vertical);
} else { // 가로
setContentView(R.layout.main_horizontal);
}
}
가로로 실행하든지 세로로 실행하든지 맘대로 하라 그래라.
이 정도 알려 줬는데 그냥 가면 혼난다!! ㅋㅋ
반응형
댓글