์ํ ์ฝ๋ ํ๋ก์ ํธ
https://github.com/android/media-samples/tree/main/PictureInPictureKotlin
AndroidManifest.xml ์ดํผ๊ธฐ
1) android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
2) android:supportsPictureInPicture="true"
<manifest
...
>
<application
...
>
<activity
android:name=".MovieActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:supportsPictureInPicture="true" />
</application>
</manifest>
์ฐธ๊ณ
https://developer.android.com/develop/ui/views/picture-in-picture#declaring
์ฑ์์ PiP๋ฅผ ์ง์ํ๊ธฐ ์ํด AndroidManifest์ PiP ๋์ ์กํฐ๋นํฐ์ android:supportsPictureInPicture ๋ฅผ true๋ก ์ค์ ํ๋ค. configuration ๋ณ๊ฒฝ์ ์กํฐ๋นํฐ์ ์ฌ์คํ์ ๋ง๊ธฐ ์ํด andoird:configChanges ๊ฐ๋ ์ค์ ํ๋ค.
์ฐธ๊ณ
https://developer.android.com/guide/topics/manifest/activity-element
android:configChanges ์ ์ง์ ํ configuration ๋ณ๊ฒฝ์ด ๋ฐ์ํ ๊ฒฝ์ฐ, ์กํฐ๋นํฐ๋ ์ฌ์คํ๋์ง ์๊ณ , activity์ onConfigurationChanged()๊ฐ ํธ์ถ๋๋ค. ๋ค์์ configuration ๊ฐ์ ์ค์ ํ ๊ฒฝ์ฐ, "|"๋ก ๊ตฌ๋ถํ๋ค.
์: android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
์ํ ์ฝ๋์ ๋์จ configuration ๊ฐ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- screenSize : ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ฉด ํฌ๊ธฐ์ ๋ณ๊ฒฝ. ์ฌ์ฉ ๊ฐ๋ฅํ ํ๋ฉด์ ๊ฐ๋ก ์ธ๋ก ๋น์จ์ด ๋ณ๊ฒฝ๋ ๊ฒ.
- smallestScreenSize : ๋ฌผ๋ฆฌ์ ์ธ ๋์คํ๋ ์ด ํ๋ฉด์ ๋ณ๊ฒฝ.
- screenLayout : ํ๋ฉด ๋ ์ด์์์ ๋ณ๊ฒฝ. ๋ค๋ฅธ ๋์คํ๋ ์ด ํ๋ฉด์ด ํ์ฑํ ๋๋ ๊ฒ.
- orientation : ํ๋ฉด ๋ฐฉํฅ์ ๋ณ๊ฒฝ. ์ฌ์ฉ์๊ฐ ๊ธฐ๊ธฐ๋ฅผ ํ์ ํ๋ ๊ฒ. ์ฑ์ด Android 3.2(API level 13) ์ด์์ ํ๊ฒํ ํ ๋, screenSize์ screenLayout๋ ๊ฐ์ด ์ค์ ํด์ผํ๋ค. ํ๋ฉด์ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ์ด ๋ณํ๋ฉด์ ํ๋ฉด ํฌ๊ธฐ์ ๋ ์ด์์๋ ๋ณ๊ฒฝ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.