2016-05-25 83 views
1

在具有ViewPager和三個片段的活動中,我想自動隱藏ToolBar。爲此,我正在使用android.support.design.widget.CoordinatorLayout工具欄重疊座標佈局下的活動

ViewPager給我一些問題。如果它在CoordinateLayout中,ToolBar與活動重疊。如果它在CoordinatorLayout之外,則ToolBar活動不會與WebView活動重疊。如果ViewPagerCoordinatorLayout之外,自動隱藏不起作用。

任何幫助,將不勝感激。

activity_main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context=".MainActivity"> 

    <android.support.design.widget.CoordinatorLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/coordinatorLayout" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:fitsSystemWindows="true"> 

     <android.support.design.widget.AppBarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/tool_bar" 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_height="wrap_content" 
       android:layout_width="match_parent" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       android:background="@color/ColorPrimary" 
       android:elevation="2dp" 
       android:theme="@style/Base.ThemeOverlay.AppCompat.Dark" 
       android:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       app:layout_scrollFlags="scroll|enterAlways" 
       android:fitsSystemWindows="true" /> 

      <com.taadu.slidechat.adaptor.SlidingTabLayout 
       android:id="@+id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@color/ColorPrimary"/> 

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

     <android.support.v4.view.ViewPager 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 
     </android.support.v4.view.ViewPager> 
    </android.support.design.widget.CoordinatorLayout> 

</LinearLayout> 

我一直在嘗試用線性佈局,如果ViewPagerLinearLayout活動並不重疊,但是這消除了自動隱藏功能。

我已經添加了android.support.v4.widget.NestedScrollView只有一個片段來測試自動隱藏。請看一看。

<android.support.v4.widget.NestedScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:isScrollContainer="false" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="fill_vertical" 
    android:clipToPadding="false" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 


    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:ads="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <ProgressBar 
      android:id="@+id/progressBar3" 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_width="fill_parent" 
      android:layout_height="3dip" 
      android:max="100" 
      android:progressDrawable="@drawable/greenprogress" /> 

     <WebView xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/webViewTop" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_below="@id/progressBar3"/> 
    </RelativeLayout> 

</android.support.v4.widget.NestedScrollView> 

回答

4

,這是因爲你是給layout_behaviorNestedScrollView而不是你的ViewPager

添加app:layout_behavior="@string/appbar_scrolling_view_behavior"ViewPage

ViewPager應該像

<android.support.v4.view.ViewPager 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior> 
</android.support.v4.view.ViewPager> 
+0

謝謝!那就做到了! – Mustansir

+0

你可以接受答案.. –

+0

在2分鐘內:)...... – Mustansir

相關問題