본문 바로가기

프로그래밍/Android

Dialog

 

1. 기본 스타일

에니메이션에 스타일 적용.

<style name="MyDialog">

   <item name="android:windowFrame">@null</item>

   <item name="android:windowBackground">@android:color/transparent</item>

   <item name="android:windowIsFloating">true</item>

   <item name="android:windowContentOverlay">@null</item>

   <item name="android:windowTitleStyle">@null</item>

   <item name="android:windowAnimationStyle">@style/MyDialogAnimation</item>

   <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>

   <item name="android:backgroundDimEnabled">true</item>

   <item name="android:background">@android:color/transparent</item>

</style>

 

2. 에니메이션 스타일 정의

진입시 커스텀 에니메이션 , 사라질때 안드로이드 내부 에니메이션

<style name="MyDialogAnimation">

   <item name="android:windowEnterAnimation">@anim/slide_in_up</item>

   <item name="android:windowExitAnimation">@android:anim/fade_out</item>

/style>

 

3. 생성자에서 스타일 지정

public MyDialog( Context context ) {

super( context, R.style.MyDialog );

}

 

 

4. 다이얼로그 root(window) 레이아웃 설정

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.password_dialog);

// 사이즈 설정

Window window = this.getWindow();

window.setLayout( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);

findViewById(R.id.left_button).seton_clickListener(this);

}

 

 

5. 만약 코드상에서 속성 수정할때는?

MyDialog dlg = new MyDialog( this );

WindowManager.LayoutParam param = dlg.getWindow().getAttributes();

param.windowAnimation = R.style.MyDialogAnimation;

 

 

 

 

Dialog는 이거면 끝??? 긁적~

'프로그래밍 > Android' 카테고리의 다른 글

String 리소스에 html 태그 넣기  (0) 2014.04.29
파일 변경 이벤트  (0) 2014.04.01
[안드로이드TV] 개발 전 확인사항  (0) 2014.02.17
GoogleTV 개발환경 설정  (0) 2014.02.06
GCM 메시지 전송  (0) 2013.09.13
Fragment 기본  (0) 2012.12.28
EditText 특수문자 입력 제한  (0) 2012.09.10
앱 연동  (0) 2012.07.27
Parcelable  (0) 2012.05.22
Data Animation???  (0) 2012.04.18