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 |