안드로이드 개발 질문/답변
(글 수 45,052)
startActivity 의 경우에는 해당되는 액티비티를 실행시키고 자기 자신은 죽는(?)다고 알고 있습니다.
startActivityForResult 의 경우 실행시킨 액티비티로부터 결과를 받을때까지 pause 된다고 알고 있습니다.
만약 A라는 액티비티에서 B라는 액티비티를 실행시켰을때, 이때 B는 theme을 transparent로 만들었습니다.
이럴 경우 투명한 B를 통하여 A액티비티가 스크린에 보여지게 할 수 있나요?
한줄요약-> 투명한 액티비티를 만들수 잇나요? sdk에 포함된 translucent_activity 소스를 보기는 했으나
위처럼 했을때 잘 안되네요...ㅡ.ㅜ
혹시 무엇이 문제인지 아시는 분 가르쳐 주시면 감사하겠습니다._(__)_
startActivityForResult 의 경우 실행시킨 액티비티로부터 결과를 받을때까지 pause 된다고 알고 있습니다.
만약 A라는 액티비티에서 B라는 액티비티를 실행시켰을때, 이때 B는 theme을 transparent로 만들었습니다.
이럴 경우 투명한 B를 통하여 A액티비티가 스크린에 보여지게 할 수 있나요?
한줄요약-> 투명한 액티비티를 만들수 잇나요? sdk에 포함된 translucent_activity 소스를 보기는 했으나
위처럼 했을때 잘 안되네요...ㅡ.ㅜ
혹시 무엇이 문제인지 아시는 분 가르쳐 주시면 감사하겠습니다._(__)_
2009.02.17 22:15:39
어디가 문제인지 모르겠습니다. ㅠㅠ
1.minifest.xml
(?xml version="1.0" encoding="utf-8"?)
(manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ws"
android:versionCode="1"
android:versionName="1.0.0")
(application android:icon="@drawable/icon" android:label="@string/app_name")
(activity android:name=".TransparentAct"
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=".TATarget"
android:label="@string/activity_translucent"
android:theme="@style/Theme.Translucent")(/activity)
(/application)
(/manifest)
2.style.xml
(?xml version="1.0" encoding="utf-8"?)
(resources)
(style name="Theme" parent="android:Theme")</style)
(style name="Theme.Translucent" parent="android:style/Theme.Translucent")
(item name="android:windowBackground")@drawable/translucent_background</item)
(item name="android:windowNoTitle")true</item)
(item name="android:colorForeground")#fff</item)
(/style)
(/resources)
3.strings.xml
(?xml version="1.0" encoding="utf-8"?)
(resources)
(string name="app_name")TransparentAct</string)
(string name="activity_translucent")TATarget</string)
(string name="translucent_background")Example of how you can make an
activity have a translucent background, compositing over
whatever is behind it.</string)
(/resources)
4.colors.xml
(?xml version="1.0" encoding="utf-8"?)
(resources)
(drawable name="translucent_background")#00000000</drawable)
(/resources)
이상이 제가 작성한 파일들입니다. 그밖에 레이아웃에서는 칼라와 관련되서는 전혀 건드리지 않았습니다.
1.minifest.xml
(?xml version="1.0" encoding="utf-8"?)
(manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ws"
android:versionCode="1"
android:versionName="1.0.0")
(application android:icon="@drawable/icon" android:label="@string/app_name")
(activity android:name=".TransparentAct"
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=".TATarget"
android:label="@string/activity_translucent"
android:theme="@style/Theme.Translucent")(/activity)
(/application)
(/manifest)
2.style.xml
(?xml version="1.0" encoding="utf-8"?)
(resources)
(style name="Theme" parent="android:Theme")</style)
(style name="Theme.Translucent" parent="android:style/Theme.Translucent")
(item name="android:windowBackground")@drawable/translucent_background</item)
(item name="android:windowNoTitle")true</item)
(item name="android:colorForeground")#fff</item)
(/style)
(/resources)
3.strings.xml
(?xml version="1.0" encoding="utf-8"?)
(resources)
(string name="app_name")TransparentAct</string)
(string name="activity_translucent")TATarget</string)
(string name="translucent_background")Example of how you can make an
activity have a translucent background, compositing over
whatever is behind it.</string)
(/resources)
4.colors.xml
(?xml version="1.0" encoding="utf-8"?)
(resources)
(drawable name="translucent_background")#00000000</drawable)
(/resources)
이상이 제가 작성한 파일들입니다. 그밖에 레이아웃에서는 칼라와 관련되서는 전혀 건드리지 않았습니다.
- startAcitivity도 실행시키고 나서 자신이 죽지는 않습니다. startActivityForResult와의 차이점은 결과를 받느냐 받지 않느냐 정도라고 생각하시면 됩니다. 둘다 다른 Activity를 뛰우고 화면에서 사라지면서 onPause가 불리고 Pause상태로 들어갑니다.
-Activity 투명효과는 말씀하신 translucent_activity가 교과서 입니다.
AndroidManifest.xml에 테마세팅 잘하셨는지 확인하고
styles.xml에 해당 테마 잘 정의되있는지 확인하시구요.
마지막으로 혹시나 Layout에서 Background 칼라를 줘서 뒤가 안보이게 한 것은 아닌지 체크하시면 됩니다.