내 앱에서 동영상을 재생할 때 Youtube 앱이 수행하는 작업을 복제하려고합니다.Youtube 앱과 같은 Android VideoView 오리엔테이션
인물 모드 : 화면의 40 % 만 사용하고 나머지는 비디오에 대한 정보로 표시합니다.
가로 모드 : 비디오와 창을 전체 화면 모드로 표시합니다.
스택 오버플로 및이 주제에 관한 다른 포럼에서 많은 스레드를 보았지만 그 중 아무 것도 나와 함께 작동하지 않는 것 같습니다. 그리고 난 다음 코드로의 onConfigurationChanged 이벤트 오버라이드 (override) 한 configChanges = "| | 오리엔테이션 화면 크기 keyboardHidden":이 전체 화면에 응용 프로그램을 넣어하지 않습니다
@Override
public void onConfigurationChanged(Configuration config)
{
super.onConfigurationChanged(config);
if (config.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
// requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
else
{
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
}
}
을하고 있다면 현재 내가 안드로이드 내 videoplayeractivity이 "requestFeature()가 내용을 추가하기 전에 호출되어야하기 때문에"충돌 할 요청 윈도우의 주석 처리를 제거하십시오. 나중에 나는의 onConfigurationChanged 이벤트를 제거하려고했습니다과에서 onCreate 이벤트에 나는 시도했다 :
@Override
public void onCreate(Bundle savedInstanceState)
{
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
을하지만 com.android.internal.policy.impl.PhoneWindow $ PanelFeatureState.onRestoreInstanceState (PhoneWindow에서 NullPointerException이와 충돌합니다. java : 3527) 내가 초상화에서 활동을 시작한 다음 풍경으로 넘어 간다면. 어떤 제안?