2016-05-30 2 views
0

У меня есть проблема с компоновкой координатора. У меня есть панель инструментов деятельности внутри appBarLayout с родителем CoordinatorLayout (я хочу сделать панель скрытой) и фрагмент с tablayout внутри appBarLayout и viewPager. Вот XML на данный вид деятельностиСкрытие tablayout внутри макета координатора, который находится за пределами деятельности

<?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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/gradient" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/toolbar_container" 
     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" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways|snap" 
      app:popupTheme="@style/AppTheme.PopupOverlay"/> 

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

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/content" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

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

И это XML-фрагмент в

<?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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/gradient" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.AppBarLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/toolbar_container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      style="@style/MyCustomTabLayout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabGravity="fill"/> 

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

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

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

На данный момент, у меня есть эта ситуация, когда панель инструментов находится где-то. Have no toolbar

Если я изменяю схему координатора внутри действия на линейную компоновку, я получаю панель инструментов видимой, но, как вы можете себе представить, без возможности скрытия.

На самом деле, я играть с координатором макете много: Скрытие и отображение панели инструментов в некоторых случаях такие параллакса и другие - https://github.com/Iamtodor/toolbars, так что вы можете быть уверены, я немного понимаю, как это работает :)

Кроме того, я имел wantch это источники: - https://github.com/codepath/android_guides/wiki/Handling-Scrolls-with-CoordinatorLayout - https://github.com/codepath/android_guides/wiki/Using-the-App-ToolBar#using-toolbar-as-actionbar - https://github.com/chrisbanes/cheesesquare

Но есть все примеры, когда tablayout существует внутри одной appbarlayout с панелью инструментов.

Как это исправить?

+0

Все еще ищете ответ – iamtodor

+0

UP, пожалуйста, возможно ли это? – iamtodor

+0

У меня подобная проблема. Дадут вам знать, что я нахожу. – dazza5000

ответ

0

Вот что работает для меня:

фрагмент XML:

<android.support.design.widget.AppBarLayout 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/app_bar_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:elevation="0dp"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_scrollFlags="scroll|enterAlways|snap" > 

     <include layout="@layout/include_time_line" 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent" /> 
    </android.support.v7.widget.Toolbar> 

    <android.support.design.widget.TabLayout 
     style="@style/TabLayout" 
     android:id="@+id/tabLayout" 
     android:layout_width="match_parent" 
     android:layout_height="54dp" 
     android:layout_gravity="bottom" 
     android:background="@color/egg" 
     android:elevation="0dp" 
     app:tabGravity="fill" 
     app:tabMode="scrollable" 
     app:tabIndicatorColor="#fcd131" 
     app:tabPadding="0dp" 
     app:tabIndicatorHeight="4dp"/> 
</android.support.design.widget.AppBarLayout> 

<com.woot.woot.productbrowse.ui.ConfigurablePagingViewPager 
    android:id="@+id/viewPager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    /> 
<FrameLayout 
    android:id="@+id/selectByWeightKeyboard" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/weight_keyboard_container_height" 
    android:background="@color/keyboard" 
    android:clipToPadding="false" 
    android:elevation="16dp" 
    android:clickable="true" 
    app:layout_behavior="android.support.design.widget.BottomSheetBehavior"> 

    <include layout="@layout/add_product_by_weight_keyboard" /> 
</FrameLayout> 

активность XML:

<FrameLayout 
     android:id="@+id/contentFrame" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

    <FrameLayout 
     android:id="@+id/layout_done_button" 
     android:visibility="gone" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     android:elevation="8dp" 
     tools:visibility="visible" 
     android:background="@color/ice"> 

     <Button 
      android:id="@+id/button_done" 
      style="?android:attr/borderlessButtonStyle" 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/button_height" 
      android:layout_marginRight="@dimen/button_done_horizontal_margin" 
      android:layout_marginLeft="@dimen/button_done_horizontal_margin" 
      android:layout_marginTop="@dimen/activity_horizontal_margin" 
      android:layout_marginBottom="@dimen/activity_horizontal_margin" 
      android:background="@drawable/rounded_green_button" 
      android:text="@string/done" 
      android:textSize="@dimen/button_text_size" 
      android:textAllCaps="true" 
      android:textColor="@color/egg" /> 
    </FrameLayout> 

<android.support.design.widget.NavigationView 
    android:id="@+id/navigation" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:contentDescription="@string/drawer_content_description" 
    app:menu="@menu/menu_navigation_product_browse" /> 

Смежные вопросы