2016-08-27 17 views
0

TabLayoutを画面に表示して、スクロールするときにToolBarをオフにしますが、ToolBarには常に画面に表示される部分があります。インターネット上のいくつかのコードを検索して実行しましたが、同じ結果が出ました。NestedScrollViewを使用しても、ToolBarが画面を完全にスクロールできない

<?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" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.ihandy.a2014011385.MainActivity"> 

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

    <android.support.design.widget.TabLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/channels_tabs"> 
    </android.support.design.widget.TabLayout> 

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

<android.support.v4.widget.NestedScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="com.ihandy.a2014011385.MainActivity" 
    tools:showIn="@layout/app_bar_main"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/large_text"/> 
    </LinearLayout> 

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

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|end" 
    android:layout_margin="@dimen/fab_margin" 
    android:src="@android:drawable/ic_dialog_email" /> 

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

とJavaコード

TabLayout channels = (TabLayout)findViewById(R.id.channels_tabs); 
channels.setTabMode(TabLayout.MODE_SCROLLABLE); 
channels.addTab(channels.newTab().setText("123")); 
channels.addTab(channels.newTab().setText("123")); 
channels.addTab(channels.newTab().setText("123")); 

これは今

enter image description here

+0

使用CollapsingToolBarそれはあなたのケースのために動作します –

答えて

1

効果であるあなたは、自分の価値観-V21 /のstyles.xmlを共有してもらえますか? その外観から、ステータスバーは透過的に見えます。そのために色を設定するか、またはandroid:fitsSystemWindows="true"CoordinatorLayoutから削除してください。

また、android:fitsSystemWindows="true"をAppBarLayoutに追加することもできます。

CoordinatorLayoutでレイアウトを正しく作成する方法を示すthis articleをご覧ください。スタイルとXMLを比較することができます。

fitsSystemWindowsの詳細については、Medium articleをIan Lakeでお読みください。

+1

'CoordinatorLayout'から' android:fitsSystemWindows = "true" 'を削除することは私のために働きます。 – huangruihaocst

関連する問題