Computer >> 컴퓨터 >  >> 프로그래밍 >> Android

Kotlin으로 안드로이드에서 전체 화면 다이얼로그(Dialog) 설정하는 방법

이 예제는 Kotlin을 사용하여 안드로이드에서 다이얼로그(Dialog)를 전체 화면으로 표시하는 방법을 단계별로 보여줍니다. 핵심은 Dialog 생성 시 시스템 테마인 Theme_Black_NoTitleBar_Fullscreen을 적용하는 것입니다.

구현 순서

1단계 − Android Studio에서 새 프로젝트를 생성합니다. File → New Project 메뉴로 이동한 뒤, 필요한 모든 항목을 입력하여 새 프로젝트를 만듭니다.

2단계 − res/layout/activity_main.xml에 아래 코드를 추가합니다.

레이아웃 예제

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="40dp"
    android:onClick="clickHere"
    android:text="Click here" />
<TextView
    android:textSize="24sp"
    android:textStyle="bold|italic"
    android:textColor="@android:color/holo_purple"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="Hello World" />
</RelativeLayout>

버튼을 클릭하면 clickHere() 메서드가 호출되도록 android:onClick 속성을 지정했습니다.

3단계 − src/MainActivity.kt에 아래 코드를 추가합니다.

import android.app.Dialog
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
    }
    fun clickHere(view: View) {
        val dialog = Dialog(this, android.R.style.Theme_Black_NoTitleBar_Fullscreen)
        dialog.setContentView(R.layout.activity_main)
        dialog.show()
    }
}

여기서 중요한 부분은 Dialog(this, android.R.style.Theme_Black_NoTitleBar_Fullscreen)입니다. 두 번째 인자로 전체 화면 테마를 지정하면 상태 바와 타이틀 바 없이 화면 전체를 차지하는 다이얼로그가 표시됩니다. 이후 setContentView()로 레이아웃을 지정하고 show()를 호출하면 됩니다.

4단계 − androidManifest.xml에 아래 코드를 추가합니다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.q11">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

앱 실행 및 결과 확인

이제 애플리케이션을 실행해 보겠습니다. 실제 안드로이드 모바일 기기가 컴퓨터에 연결되어 있다고 가정합니다. Android Studio에서 앱을 실행하려면 프로젝트의 액티비티 파일 중 하나를 연 뒤, 툴바의 실행(Run) 아이콘 Kotlin으로 안드로이드에서 전체 화면 다이얼로그(Dialog) 설정하는 방법 을 클릭합니다. 목록에서 본인의 모바일 기기를 선택하고, 기기에 기본 화면이 정상적으로 표시되는지 확인합니다.

앱이 실행되면 Click here 버튼을 눌러보세요. 버튼을 클릭하는 순간 전체 화면 다이얼로그가 나타나며, 동일한 레이아웃이 화면 전체에 표시되는 것을 확인할 수 있습니다.

Kotlin으로 안드로이드에서 전체 화면 다이얼로그(Dialog) 설정하는 방법

Kotlin으로 안드로이드에서 전체 화면 다이얼로그(Dialog) 설정하는 방법