반응형
액티비티를 다이얼로그 형식으로 사용했으면 좋겠다라고 생각할 경우가 있습니다.
방법은 간단합니다.
1. themes.xml 에 다이얼로그 style을 정의해 둔다.
2. manifest에서 다이얼로그처럼 사용할 액티비티 속성으로 테마 스타일을 추가한다.
3. 액티비티를 실행시킨다.
우선 res/values 폴더에 themes.xml 을 만듭니다.
|
1
2
3
4
5
6
7
8
9
10 |
<?xml version="1.0" encoding="utf-8"?><resources><style name="Dialog" parent="android:style/Theme.Dialog"><item name="android:windowBackground">@null</item><item name="android:windowNoTitle">true</item><item name="android:windowIsFloating">true</item></style></resources> |
여기서 설정된 것들은, 기본으로 깔리는 까만색 bakcground를 사용하지 않는것 타이틀바를 없애는것 등입니다.
이 스타일의 이름은 Dialog 로 정의되어 있으므로 매니페스트파일에서 사용시에는
android:theme="@android:style/Theme.Dialog" 로 사용할 수 있게 됩니다.
2. manifest에서 다이얼로그처럼 사용할 액티비티 속성으로 테마 스타일을 추가한다.
이제 매니페스트에서 코드를 추가해줍니다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 |
<?xml version="1.0" encoding="utf-8"?>package="me.croute.dialogactivity"android:versionCode="1"android:versionName="1.0"><application android:icon="@drawable/icon" android:label="@string/app_name" ><activity android:name=".MainActivity"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".DialogActivity" android:theme="@android:style/Theme.Dialog" /></application><uses-sdk android:minSdkVersion="7" /></manifest> |
기본 액티비티로 MainActivity 가 존재하고, 다이얼로그로 사용할 액티비토로 DialogActivity를 추가했습니다.
다이얼로그 액티비티의 테마로는 위에서 만든 다이얼로그 스타일을 사용해줍니다.
이렇게 설정해 두면
어디서든 아래의 코드를 사용해서 다이얼로그로 보이는 액티비티를 부를 수 있게 됩니다.
startActivity(new Intent(this, DialogActivity.class));
출처 : http://croute.me/289
반응형