1

コーディネータレイアウトとAppBarLayoutをフラグメント内で使用しようとしています。私の目標は、スクロールするときに隠すことができるヘッダーを持つことですが、アクティビティの内部にあるタイトルバーを保持し、他のフラグメントには必要です。コーディネータを使用するとレイアウトが完全に消えない

私の問題は、私がスクロールすると、ヘッダーが完全に隠されていないことです。ステータスバーの高さが表示されている部分があります。私はそれを完全に消滅させる方法を知らない。ここで

は、いくつかのscrrenはそれをより理解しやすくするためにキャプチャされている。ここで

header fully displayed

scrolled down

はレイアウト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" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@android:color/holo_blue_dark" 
     android:fitsSystemWindows="true"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       app:contentScrim="?attr/colorPrimary" 
       app:expandedTitleMarginStart="@dimen/general_padding" 
       app:layout_scrollFlags="scroll|exitUntilCollapsed" 
       app:layout_behavior="@string/appbar_scrolling_view_behavior" 
       android:fitsSystemWindows="true"> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="25dp" 
        android:layout_marginTop="100dp" 
        android:layout_margin="@dimen/general_padding" 
        android:background="@android:color/holo_green_light" 
        android:orientation="vertical"> 
       </LinearLayout> 

      </LinearLayout> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:tabMode="fixed" 
      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> 

からonCreateView()メソッドこのレイアウトを使用するフラグメント:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View view = inflater.inflate(R.layout.fragment_tabs, container, false); 
    mUnbinder = ButterKnife.bind(this, view); 

    mTabsPresenter.subscribe(this); 

    TabsPagerAdapter adapter = new TabsPagerAdapter(getChildFragmentManager()); 
    mPager.setAdapter(adapter); 
    mTabs.setupWithViewPager(mPager); 
    mTabs.getTabAt(0).setText("_Maintenance"); 
    mTabs.getTabAt(1).setText("_History"); 
    mTabs.getTabAt(2).setText("_Costs"); 

    setHasOptionsMenu(true); 

    return view; 
} 

この問題をお手伝いできますか?

あなたは

+0

'android:layout_marginTop =" 100dp "'の代わりに、設定の親が埋め込まれましたか? – Gotiasits

+0

はい、マージンとパディングで多くのことを試しましたが、解決策が見つかりません –

答えて

0

あなたtablayoutに "layout_marginTop = -8dp" を使用してみてくださいありがとうございました。簡単な回避策。

+0

-24dpで動作します。ありがとうございます –

+0

Awsm。私の答えを正しいものとしてマークしてください。 – A2N