2016-10-19 4 views
3
에 CoordinatorLayout를 사용하면

그래서 .. 활동 등에서안드로이드 - 활동과 조각

<CoordinatorLayout> 
    <AppBarLayout> 
     <Toolbar/> 
    </AppBarLayout> 
    <FrameLayout> // For Fragments 
</CoordinatorLayout> 

을 CoordinatorLayout을 사용하고있는 ToolbarScrollflagsscroll|enterAlways 사용합니다.

특정 조각에서 레이아웃에 시차 효과를 적용하고 CoordinatorLayout을 다시 사용하지만 툴바가 정상적으로 작동하지 않습니다.

<CoordinatorLayout> 
    <AppBarLayout> 
     <CollapsingToolbarLayout> 
      <Toolbar/> 
     </CollapsingToolbarLayout> 
    </AppbarLayout> 

    <RelativeLayout/> // Contains the Fragment's content 
</CoordinatorLayout> 

방법 모두 효과를 달성하기 위해 다음과 같습니다

내가 Fragment의 레이아웃에서 사용하는 방법은? Fragment 님의 CoordinatorLayout이 (가) 이벤트를 가로채니까 가능하지 않습니까?

Rough Layout

그래서 도구 모음이 스크롤에 숨겨진, 나는 검색 기능성 나는 그것을 시도 didnt는 스크롤

+0

하나의 '코디네이터 레이아웃'으로 충분합니다. 너무 많은 요리사가 국물을 망칠 수 있습니다. –

+0

어쨌든, 프래그먼트를 다시 액티비티에 넣을 때, 프래그먼트의 액티비티 (appbar, toolbar, coordinator)에있는 내용을 복제해야하는 이유는 무엇입니까? 구현하려는 대상은 무엇입니까? 아마 사진? –

+0

@ElvisChweya 오, 나는 Appbar가 CoordinatorLayout'의 직접적인 아이가되어야한다고 생각했다. (그렇다. 검색 기능을 위해서이다.) 검색은 사용자 스크롤에 시차 효과를 사용해야한다. –

답변

0

에 시차 효과를 사용하여 숨겨진해야하지만 올바른 접근 방식은 같은 teorically this gist 보인다 CoordinatorLayout에 스크롤링 기능을 추가하여 스크롤링 기능을 향상시킵니다.

업데이트 :이 패키지의 외부에 표시가 아니므로

이 방법 offsetChildToAnchor을 제거했습니다.

그런 다음 스크롤 관리에 문제가있는 forked gist을 발견하고 NestedScrollingEnabled을 true로 설정합니다.

중첩 된 CoordinatorLayout에 app:layout_behavior="@string/appbar_scrolling_view_behavior"이 추가되었습니다.

조각이없는 활동에 두 개의 코디네이터 레이아웃을 중첩하여 테스트했습니다. 그것은 작동합니다. 또한 조각을 사용해야합니다.

+0

그 간략한 설명이 그 요지를 지나치게 시도해 보았지만, 헤븐 'offsetChildToAnchor' 부분은 AS가 그것의 수퍼 클래스에서 어떤 메소드도 오버라이드하지 않는다고 말했기 때문에'CoordinatorLayout'에있는 것처럼 보이지 않습니다. –

+0

나는 스스로 시도했습니다 : 예, 메소드는 외부에서 볼 수 없습니다. 그 방법은 최적화 만 관리하기 때문에 스크롤 방법을 유지하기 위해이 방법을 사용하지 않고 노력하고 있습니다. 회신을 업데이트하겠습니다. – GPack

+0

이번 주말에 나는 다른 비슷한 앱을 내 것과 같이 테스트 해왔고 그런 종류의 잔인 함을 여러개 가지지 않았습니다. 'CoordinatorLayout' LOL ..이게 나쁜 설계입니까? 툴바를 그냥 두어야합니까? 그것은 단지 스크롤과 함께 움직이지 않고 그 위에 붙어 있습니다. 그리고 그것입니다. –