다이얼로그
style.xml에서
<!-- styles.xml -->
<style name="TransparentDialog" parent="Theme.AppCompat.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowNoTitle">true</item>
</style>
onCreate에서 시작 부분에서
setTheme(R.style.TransparentDialog);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setFinishOnTouchOutside(true);
다이얼로그로 하고, 타이틀 없애고, 터치 금지
getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
getWindow().setBackgroundDrawableResource(android.R.color.transparent);
adjustDialogSize();
private void adjustDialogSize() {
// 화면 크기 가져오기
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int screenWidth = displayMetrics.widthPixels;
// 좌우 10dp 남기는 크기로 설정
int marginInDp = 20;
float density = getResources().getDisplayMetrics().density;
int marginInPx = (int) (marginInDp * density);
WindowManager.LayoutParams params = getWindow().getAttributes();
params.width = screenWidth - (2 * marginInPx); // 좌우 10dp씩 남기기
getWindow().setAttributes(params);
}
댓글
댓글 쓰기