YouTubePlayer:从纵向手机方向进入全屏可以轻松退出全屏

2024-03-07

如果您纵向握住手机并单击全屏按钮(YouTubePlayerView)如果您稍微摇动手机,它可以轻松让您返回(关闭全屏)

官方 YouTube 应用程序正常工作:您在纵向握住手机的同时按下全屏按钮,如果您稍微摇晃它,它仍然保持全屏横向模式。如果您将手机旋转到横向并再次返回到纵向,那么它就会关闭全屏(应该如此)

所以我想从官方 YouTube 应用程序中实现相同的行为

我尝试设置不同的全屏标志YouTubePlayer但这不影响任何事情

活动清单

<activity
    android:label="@string/playerview_demo_name"
    android:name=".PlayerViewDemoActivity"
    android:screenOrientation="user"
    android:configChanges="orientation|screenSize|keyboardHidden">
  <intent-filter >
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

活动java

public class PlayerViewDemoActivity extends YouTubeFailureRecoveryActivity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.playerview);
    YouTubePlayerView youTubeView = findViewById(R.id.youtube_view);
    youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, this);
  }

  @Override
  public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player,
                                      boolean wasRestored) {
    if (!wasRestored) {
      player.cueVideo("wKJ9KzGQq0w");
      /*
      FULLSCREEN_FLAG_CONTROL_ORIENTATION;
      FULLSCREEN_FLAG_CONTROL_SYSTEM_UI;
      FULLSCREEN_FLAG_ALWAYS_FULLSCREEN_IN_LANDSCAPE;
      FULLSCREEN_FLAG_CUSTOM_LAYOUT;
      */
      player.addFullscreenControlFlag(YouTubePlayer.FULLSCREEN_FLAG_CONTROL_ORIENTATION);

  }

  @Override
  protected YouTubePlayer.Provider getYouTubePlayerProvider() {
    return (YouTubePlayerView) findViewById(R.id.youtube_view);
  }
}

Mb YouTube 应用程序执行以下操作:

按下全屏按钮后,它们会设置(仅当编程电话显示屏的方向处于纵向模式时)

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);

然后他们使用设备传感器来检测大致方向(如果您以纵向/横向方向握住手机)-检测 Android 设备方向(不是屏幕方向) https://stackoverflow.com/questions/23805504/detect-android-device-orientation-not-screen-orientation

当您用手将手机旋转至横向时,它们会设置

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER);


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YouTubePlayer:从纵向手机方向进入全屏可以轻松退出全屏 的相关文章

随机推荐