마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

간단한 메소드로 바꾸고 싶습니다

0 추천
orientEventListener = new OrientationEventListener(this,
             SensorManager.SENSOR_DELAY_FASTEST) {
   
         @Override
         public void onOrientationChanged(int arg0) {

         if (arg0 == 0){
          TakePic.setRotation(270);
          CHANGE_FACING.setRotation(270);
          BACK.setRotation(270);
          FINISH.setRotation(270);
          FLASH.setRotation(270);
          TIMER.setRotation(270);
          GPS.setRotation(270);
          SAVE_IMAGE.setRotation(270);
          CANCEL.setRotation(270);
          
         }
        
         else if (arg0 == 90){
          TakePic.setRotation(180);
          CHANGE_FACING.setRotation(180);
          BACK.setRotation(180);
          FINISH.setRotation(180);
          FLASH.setRotation(180);
          TIMER.setRotation(180);
          GPS.setRotation(180);
          SAVE_IMAGE.setRotation(180);
          CANCEL.setRotation(180);
         }

         else if (arg0 == 180){
          TakePic.setRotation(90);
          CHANGE_FACING.setRotation(90);
          BACK.setRotation(90);
          FINISH.setRotation(90);
          FLASH.setRotation(90);
          TIMER.setRotation(90);
          GPS.setRotation(90);
          SAVE_IMAGE.setRotation(90);
          CANCEL.setRotation(90);
         }
         else if (arg0 == 270){
          TakePic.setRotation(0);
          CHANGE_FACING.setRotation(0);
          BACK.setRotation(0);
          FINISH.setRotation(0);
          FLASH.setRotation(0);
          TIMER.setRotation(0);
          GPS.setRotation(0);
          SAVE_IMAGE.setRotation(0);
          CANCEL.setRotation(0);
         }

         }
     };

     if (orientEventListener.canDetectOrientation()) {
       
         orientEventListener.enable();
     } else {
      
         finish();
     }
 }

 

핸드폰 기울기 상태에 따라 버튼들을 회전시키고 싶은데 반복되는 명령어를 간단한 메소드로 표현하고 싶습니다

예를 들면 arg0=0 일때 270도로 회전시켜라 이런식으로요 아직 초보라 메소드 구현하는게 쉽지가 않네요

고수님들 도와주세요
카카오쿤 (190 포인트) 님이 2016년 6월 9일 질문

2개의 답변

0 추천
 
채택된 답변
int degree = 270 - arg0;

TakePic.setRotation(degree);
CHANGE_FACING.setRotation(degree);
BACK.setRotation(degree);
FINISH.setRotation(degree);
FLASH.setRotation(degree);
TIMER.setRotation(degree);
GPS.setRotation(degree);
SAVE_IMAGE.setRotation(degree);
CANCEL.setRotation(degree);

만약 TakePic, CHANGE_FACING, BACK, FINISH.. 같은 UI가 한 Layout 밑에 있다면,

그 layout 만 로테이트 시키는 방법도 있을 듯 하네요
사악미소 (65,330 포인트) 님이 2016년 6월 9일 답변
카카오쿤님이 2016년 6월 9일 채택됨
감사합니다 Layout은 고정시키고 UI만 로테이트 시켜야 되서요
각각 적용할수밖에 없었습니다
0 추천
이건 질문이라고 하기 좀... 프로그래밍 공부 좀 더 하셔야할거 같아요.
chemkaaa (6,030 포인트) 님이 2016년 6월 9일 답변
...