0

나는 이제까지 고려하고 싶은 TabLayout 또는 TabHost의 디자인을 가지고 있습니다. 이것이 탭이라고 가정합니다 -기존 조각에 조각 오버레이

Tab1 | Tab2 | Tab3 | Tab4 |

  1. 는 TAB1이 - -이 다음과 같은 조치를 Tab5

    이 일어날 것이다 Fragment1를 엽니 다

  2. TAB2가 - Fragment2를 엽니는
  3. tab3에이 - 반투명 블랙 전망을 기존의 단편 통해 오버레이을 엽니 다
  4. Tab4 - 단편 3을 엽니 다.
  5. Tab5 - 단편 4를 엽니 다.

해결 방법에 대한 의견이 있으십니까? 미리 감사드립니다 !!

UPDATE : 솔루션 나는이 시도하지만, 사용자 정의의 많은했습니다

을 사용했다. 그래서 나는 일을 많이하는 것처럼 중간에 들렀다. 그래서 내가 한 또 다른 방법은 Tab3과 정확히 같은 위치에 TabLayout 위에 하나 이상의 뷰를 추가하고 그 위에 View 오버레이 뷰를 표시하는 것입니다.

+0

당신은'ViewPager'를 사용하고 있습니까? –

+0

현재 'ViewPager'를 사용 중입니다 –

+0

사용자가 스 와이프를 통해 페이지를 스크롤 할 때 어떻게 작동합니까? 오버레이가 현재 페이지 상단의 측면에서 스 와이프해야합니까?또는 탭 3은 스 와이프 중에 무시됩니다. –

답변

0

ViewPager은이 사용 사례를 위해 설계되지 않았습니다. 탭은 ViewPager에있는 해당 요소에 자동으로 매핑됩니다. 하지만 여기서 일종의 일을 볼 수있는 방법이 있습니다.

  1. 는 전체 ViewPager 오버레이 Visibility.GONE이있는 TranslucentOverlayView 되세요.
  2. tab3 복제본 fragment2을 열고 tab3을 선택한 경우 TranslucentOverlayView을 표시합니다. 즉, fragment2 개의 인스턴스가 두 개씩 나란히 표시됩니다.
+0

좋은 제안은 이것을 시도합니다 ... !! 덕분에 :) 한번 구현하면 투표 할 것입니다. –

+0

질문을 확인하십시오. 답변으로 업데이트했습니다. 제안에 감사드립니다. 그것은 그것을 구현할 시간이 있다면 그것은 분명히 작동했을 것입니다 :) –

0

@ZakTaccardi가 말한 것처럼 ViewPager은이를 위해 설계되지 않았습니다.

그러나 5 페이지가있는 FragmentPagerAdapter을 만들려고합니다. 제 말은 getCount()이 5를 리턴해야한다는 것입니다. 현재 색인이 2이면 현재 화면에있는 인스턴스를 리턴해야합니다. 즉, 어댑터가 현재 페이지의 내용을 알아야합니다. 을 사용하여 현재 페이지의 내용을 어댑터에 알릴 수 있습니다. 인스턴스를 검색하려면 FragmentManager을 사용하십시오. 조각에 대한 참조를 어댑터에 저장하지 마십시오. 메모리 누수가 발생하기 때문입니다. 이것은 당신이 당신 ViewPager의 상단에 View를 구현하고 위치가 2 숨기기는 위치가 될 때 때 ViewPageronPageSelected() 콜백에 표시, 오버레이를 표시하려면 탭 3.

을 선택하면 중복 된 조각을 방지하는 것입니다 2.

+0

질문을 확인하십시오. 답변으로 업데이트했습니다. 제안에 감사드립니다. 그것을 구현할 시간이 있다면 분명히 작동 할 것입니다 :) –

+0

질문에 대한 업데이트가 아닌 답변으로 게시해야합니다. 그러면 당신은 그것을 받아 들일 수있을 것이고이 질문은 "대답 된"것으로 간주 될 것입니다. 지금은 아직 열려 있습니다. 고맙습니다. –