쥔장에겐 완전 사랑하는 사람이 있어요 ^-^♡


이놈의 폰을 세로로 쓰다가 가로로 기울이면 화면 전환이 일어 난다.
뭐 가로,세로 같은 화면을 쓰겠다면야 상관 없겠지만 다른 화면을 보여주고 싶으면
화면 방향 전환이 됐다는 이벤트를 잡아 와서 각각 레이아웃을 바꿔치기 하면 된다.
그러면 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();
  
 }

레이아웃을 가로,세로 두개로 구현해서 바뀌는거에 따라서 맞춰주면 된다.

근데 그러면 간월적으로 폰을 가로로 들고 해당 앱을 실행 시키는 이상한 애들이 있을 수도 있다.
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);
        }
}


가로로 실행하든지 세로로 실행하든지 맘대로 하라 그래라.
이 정도 알려 줬는데 그냥 가면 혼난다!! ㅋㅋ
저작자 표시 비영리 변경 금지
신고
Posted by Keizwer Keiz

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2012.11.29 05:19 신고
    댓글 주소 수정/삭제 댓글
    사실.. 개인적으로 별로 였지만 지나고 나면 생각나고 한번 쯤 또 가보고 싶네요.
  2. anonymous
    2013.07.04 10:50 신고
    댓글 주소 수정/삭제 댓글
    thanks to you
  3. 고독한 늑대
    2013.08.01 09:48 신고
    댓글 주소 수정/삭제 댓글
    그대에게 영광! 영광 있으라~~ 캄사.
  4. s
    2013.10.02 15:12 신고
    댓글 주소 수정/삭제 댓글
    ↑폰을 가로로 들고 해당 앱을 실행 시키는 이상한 1人...

    앱 만들다가 어떻게 처리할까 했는데 덕분에 해결했어요~

    감사드려요~


카테고리

:: Keiz Story :: (349)
TechNical (197)
Another (145)
ENG, JPN Lang. (7)

Statistics Graph
Total : 511,427
Today : 30 Yesterday : 24

달력

«   2017/10   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Google

글 보관함

0
hit counter