그냥 가로,세로 전환 관련해 이렇게 써먹어 보면 어떨까 해서 적어봄..
일단 진저까지 가로세로간 에니메이션은 지원하지 않으므로,
이건 어쩔수 없다고 쳐도..
가로, 세로의 경우 서로다른 액티비티를 사용하는 프로그램에서
액티비티간 에니메이션 역시 세로->가로, 가로->세로인 경우 정상적으로 먹지않는
증상(?)이 나타나서... 꽁수 연구중..
허니콤부터는 상관없을 것 같은데...쩝..
세로 레이아웃은 원하는 디자인을 넣고,
가로 레이아웃은 LinearLayout id="@+id/layout_a" 하나로만 구성.
세로에서 가로로 전환이 이루어지면, 바로 레이아웃을 set 하지말고, 현재 화면을 복사.
이후 가로모드로 set 하고, 배경으로 복사한 이미지 그림.
그리고, 액티비티 호출.
public void onConfigurationChanged( Configuration newConfig ) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
if( newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE ) {
WindowManager wm =
(WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
float degree = 0;
if( wm.getDefaultDisplay().getRotation() == Surface.ROTATION_90 )
degree = -90.0f;
else if( wm.getDefaultDisplay().getRotation() == Surface.ROTATION_270 )
degree = 90.0f;
vg.buildDrawingCache();
Bitmap bm = vg.getDrawingCache();
Matrix m = new Matrix();
m.setRotate(90);
bg = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), m, true);
img = (Drawable)new BitmapDrawable(bg);
setContentView(R.layout.main);
vg = (ViewGroup) this.findViewById(R.id.layout_a);
vg.setBackgroundDrawable(img);
일단 회전이 이루어지도록한 뒤..다른 액티비티로 변경
Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
Intent newIntent = new Intent( CurrentActivity.this, NewActivity.class );
CurrentActivity.this.startActivity( newIntent );
CurrentActivity.this.overridePendingTransition( R.anim.fade_in, R.anim.fade_out );
CurrentActivity.this.finish();
}
}
}
쓰다보니 사용할 일이 없을 듯 ... -_-;;;;
결론 .. 낙서..
'프로그래밍 > Android' 카테고리의 다른 글
리스트뷰 메쏘드 몇개 (0) | 2011.09.22 |
---|---|
SQLite Database (0) | 2011.09.20 |
Edittext 관련 사항들 (0) | 2011.09.18 |
MediaStore 오디오 재생목록 (0) | 2011.09.17 |
List adapter (0) | 2011.09.15 |
터치 이벤트 처리순서 (0) | 2011.09.01 |
천천히 로딩되는 리스트 아이템 (0) | 2011.08.22 |
이미지 클리핑 기초 (0) | 2011.08.18 |
ffmpeg 빌드 #3 (0) | 2011.07.07 |
ffmpeg 빌드 #2 ffmpeg 옵션별 빌드 (0) | 2011.07.06 |