3

지금 당장은 정상적으로 보이는 Toolbar입니다. 내가 뭘 원하는 아래 그림과 같이 ToolbarTabLayout 사이에 사용자 정의 레이아웃을 추가 할 수 있습니다 :아래의 TabLayout이있는 툴바의 사용자 정의 레이아웃

enter image description here

왼쪽에 내 Toolbar 지금의 모습이고, 오른쪽에 무엇입니까 나는 그 모습을 원한다.

보시다시피, ImageView 및 두 개의 TextView을 레이아웃에 추가하고 싶습니다.

어떻게하면됩니까?

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tablayout" 
      android:layout_width="match_parent" 
      android:layout_height="48dp" 
      app:layout_scrollFlags="scroll|enterAlways" /> 

    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

</android.support.design.widget.CoordinatorLayout> 
+0

해당 섹션을 접기시겠습니까? 아니면 항상 확장 된 높이를 표시 했습니까? – ianhanniballake

+0

@ianhanniballake 사용자가 아래로 스크롤하면 'Toolbar'와 'TabLayout'이 모두 사라지고 사용자가 위로 스크롤 할 때 (맨 위로 이동하지 않을 때), 'Toolbar'는 아니고'TabLayout'이 아니며, 사용자가 맨 위로 스크롤하면'Toolbar'와'TabLayout'을 모두 보여줍니다. 그게 가능한 일이 아니라면 스크롤을 통해 사라지게하고 사용자가 맨 위로 스크롤 할 때만 표시하는 것을 선호합니다. – f1gh6sadf

답변

1

AppBarLayoutLinearLayout를 확장, 그래서 당신은 당신의 AppBarLayout에 의견의 수를 추가 할 수 있습니다 : 당신의 Toolbar에 특별히 뷰를 추가 할 이유가 없다.

동일하게 스크롤하려는 경우 과 동일한 layout_scrollFlags을 사용해야합니다.

+0

이것은 작동하는 것으로 보이지만 몇 가지 문제점이 있습니다. 'RecyclerView' 영역에서 스크롤을 시작할 때,'RecyclerView'는'AppBarLayout'이 화면 밖으로 완전히 스크롤되기 전에 스크롤을 시작합니다 (즉,'RecyclerView'가'AppBarLayout'와 동기화되어 스크롤됩니다). [다음과 같은 이미지가 있습니다.] (http://i.imgur.com/7lIlJu7.png). 그러나, 화면의'AppBarLayout' 섹션을 스크롤하면, 스크롤해야합니다. 때로는 화면의'RecyclerView' 섹션에서 가볍게 벗어나면 'AppBarLayout'이 보이지 않게 스크롤되기 전에 여러 항목을 통과 할 수 있습니다. – f1gh6sadf

+0

둘째,이 패턴을 따르는 스크롤 값을 설정할 수 있습니까? 사용자가 아래로 스크롤하면'Toolbar'와'TabLayout' 모두 사라질 것이고, 사용자가 위로 스크롤 할 때 (그러나 맨 위에있는 것이 아니라)'Toolbar' 만 보여줄 것입니다. 'Toolbar'의 최상위 부분 인 프로필 레이아웃 비트)가 아니라'TabLayout'이고 마지막으로 사용자가 맨 위로 스크롤하면 전체'Toolbar'와'TabLayout'을 모두 보여줍니다. – f1gh6sadf

+0

'AppBarLayout'은 모든 스크롤을 제어합니다. 처음 보았던 스크롤 문제는 보지 못했지만, 잘난 척하는 것은 분명히 까다로운 문제입니다. 'android : minHeight = "0dp"'를 추가 해보고 app : layout_scrollFlags = "scroll | enterAlways | enterAlwaysCollapsed"'를 사용하여 맨 위로 스크롤 할 때까지 프로필 섹션을 접을 수 있습니다. – ianhanniballake

0

도구 모음 그냥 뷰 그룹, 당신은 사용자 정의 할 수 있습니다 당신이 원하는만큼입니다 :

여기에 내 현재 레이아웃입니다.

이 시도 :

<android.support.v7.widget.Toolbar 
style="@style/ToolBarStyle" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:background="?attr/colorPrimary" 
android:minHeight="@dimen/abc_action_bar_default_height_material"> 

<ImageView 
    android:layout_width="wrap_content" 
    android:contentDescription="@string/logo" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:src="@drawable/ic_launcher"/> 

이 도구 모음의 중앙에 이미지 뷰를 가지고 있어야합니다.