투케이2K

236. (AndroidStudio/android/java) 액티비티 화면을 커스텀 다이얼로그 팝업창 형태로 만들기 - 배경 반투명 처리, 팝업창 커스텀 사이즈 및 위치 조절 본문

Android

236. (AndroidStudio/android/java) 액티비티 화면을 커스텀 다이얼로그 팝업창 형태로 만들기 - 배경 반투명 처리, 팝업창 커스텀 사이즈 및 위치 조절

투케이2K 2021. 12. 19. 11:29
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : java

 

[소스 코드]

// [AndroidManifest.xml 설정]
<activity android:name=".A_ActivityDialog" android:theme="@android:style/Theme.Dialog" />








// [java 파일 설정 : onCreate() 부분]
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // -----------------------------------------

        // [다이얼로그 팝업창 검정색 배경 없애기]
        getWindow().setBackgroundDrawable(new PaintDrawable(Color.TRANSPARENT));

        // -----------------------------------------

        // [타이틀바 없애기]
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        // -----------------------------------------

        // [레이아웃 xml 지정 실시]
        setContentView(R.layout.a_nfilter_layout);

        // -----------------------------------------

        // [액티비티 >> 팝업창 형태 크기 및 위치 커스텀 지정 실시]
        Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
        Point point = new Point();
        display.getSize(point);

        int pointWidth = point.x; // 가로
        int pointHeight = point.y; // 세로

        int width = (int) (pointWidth * 1.0); // Display 가로 사이즈의 100%
        int height = (int) (pointHeight * 0.85);  // Display 높이 사이즈의 85%

        getWindow().getAttributes().width = width; // 가로 크기
        getWindow().getAttributes().height = height; // 세로 크기
        getWindow().getAttributes().gravity = Gravity.BOTTOM; // 위치 설정

        // -----------------------------------------

        Log.i("---","---");
        Log.d("//===========//","================================================");
        Log.i("","\n"+"[A_ActivityDialog >> onCreate() :: 액티비티 수행 실시]");
        Log.d("//===========//","================================================");
        Log.i("---","---");

        // -----------------------------------------
}







// [xml 파일 설정 : 레이아웃 부분]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:orientation="vertical"

    android:background="#f8f8f8">


    <!--
    [레이아웃 설명]
    1. 액티비티 화면을 커스텀 다이얼로그로 만들기 수행
    -->


</LinearLayout>
 

[결과 출력]

 

 
반응형
Comments