サンプル見てましたが。

android-PictureInPicture/README.md at master · googlesamples/android-PictureInPicture
...。
ただ、縮小されたActivityを常駐的に端末画面の上に載せたいだけなのですが...。
最小限の実装
BlankActivityで実装するだけ。
これぐらいまで。

AndroidManifest.xml
<activity android:name=".MainActivity"
    android:resizeableActivity="true"
    android:supportsPictureInPicture="true"
    android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation">
MainActivity.kt
class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    if (VERSION.SDK_INT >= VERSION_CODES.O) {
      text.setOnClickListener {
        val params = PictureInPictureParams.Builder().apply {
          setAspectRatio(Rational(4, 3))
        }.build()
        enterPictureInPictureMode(params)
      }
    }
  }
  override fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean,
      newConfig: Configuration) {
    super.onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig)
    if (isInPictureInPictureMode) {
      text.text = "small"
      setFullScreen(true)
    } else {
      text.text = "normal"
      setFullScreen(false)
    }
  }
  private fun setFullScreen(on: Boolean) {
    window.decorView.systemUiVisibility = if (on) {
      SYSTEM_UI_FLAG_LAYOUT_STABLE or
      SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
      SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or
      SYSTEM_UI_FLAG_HIDE_NAVIGATION or
      SYSTEM_UI_FLAG_FULLSCREEN or
      SYSTEM_UI_FLAG_IMMERSIVE_STICKY
    } else {
      SYSTEM_UI_FLAG_LAYOUT_STABLE
    }
  }
}
PinPモードに入ったときのレイアウト変更は、フルスクリーンモードでツールバーを隠すのみ。
Preview 公開当時のサンプルが多いので、今現在の最小限実装でやってみたメモ的な。
関連APIは変化している様子。
関連ワード: Android・AndroidStudio・Google・おすすめ・開発・pinp・ピクチャー・イン・ピクチャー
 
		 
          