하나의 액티비티에 ViewPager와 FragmentPagerAdapter를 세 조각으로 설정했습니다. 모든 조각이 동시에로드하고이 조각의프래그먼트를 프로그래밍 방식으로 전체 화면으로 만들기
mPager.setOffscreenPageLimit(2);
하나는 내가 어떤 상태 표시 줄이나 작업 표시 줄에 전체 화면을하고 싶은 카메라 미리보기를 호스팅 사용하여 메모리에 보관됩니다. 다른 조각들은 작업 표시 줄이 표시되도록 요구합니다.
다른 두 조각을 정상적으로 유지하면서 카메라 미리보기 단편 전체 화면 만 만들려면 어떻게해야합니까? 액션 바를 깨는 것을 의미하는 테마를 사용해 보았습니다.
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
가 나는 또한 ViewPager.OnPageChangeListener을 구현하는 시도 : 그것은 전체 화면 (과 함께, 따라서 다른 두 조각)으로 전체 활동을 강제하기 때문에 프로그래밍, 도움이되지 않습니다 다음을 호출
:
public void onPageSelected(int position) {
if(position == 1)
getActionBar().hide();
else
getActionBar().show();
}
이 작업 표시 줄을 숨길 않지만, 시스템 상태 표시 줄을 숨기지 않습니다 (내가 알림, 상태 아이콘 곳에 대해서 이야기하고, 시간이), 그리고 작업 표시 줄 숨기기/표시 애니메이션 스 와이프 할 때 매우 고르지 않습니다.
내가 정확하게하고 싶은 예를 보려면 Snapchat을 참조하십시오. 카메라와 다른 조각 사이를 완벽하게 스 와이핑 할 수 있습니다.
편집 :
그래서 나는 변경 내이에 onPageSelected :이 상태 표시 줄 표시 여부를 변경할 수 나를 수public void onPageSelected(int position) {
if(position == 1) {
MainActivity.this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
MainActivity.this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
} else {
MainActivity.this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
MainActivity.this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
}
}
. 그러나, 그것은 많은 양의 정크를 야기합니다. 작업 표시 줄에 같은 문제가 있습니다.
Snapchat에서 탭 변경이 완료되면 상태 표시 줄이 위아래로 움직입니다. 이 방법을 구현하는 방법을 잘 모르겠습니다. 따라서이 부분과 관련된 조언을 주시면 감사하겠습니다.
상태 표시 줄을 제거하는 데 도움이되는 수정 된 버전을 시도했지만 미친 것처럼 느껴짐 –
또한 페이지로 인해 조각이 메모리에서 언로드 된 경우 크래시가 발생할 수 있음을 알았습니다. 스 와이프 또는 오리엔테이션 변경에서와 같이 파괴되고 재현 된 경우. 이전 참조가 유효하지 않으므로 findFragmentById()를 사용하여 프래그먼트에 대한 참조를 가져와야합니다. –
무엇이'mActionBar'입니까? –