2017-03-21 3 views
2

Ich tring, CollapsingToolbarLayout in meiner App anzuwenden.NestedScrollView-Größe passt nicht zu CollapsingToolbarLayout

Unten XML funktioniert gut.

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
            xmlns:ads="http://schemas.android.com/apk/res-auto" 
            xmlns:app="http://schemas.android.com/apk/res-auto" 
            xmlns:tools="http://schemas.android.com/tools" 
            android:id="@+id/drawer_layout" 
            android:layout_width="match_parent" 
            android:layout_height="match_parent" 
            tools:openDrawer="start"> 

<android.support.design.widget.CoordinatorLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    android:orientation="vertical"> 

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

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsingToolbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <android.support.design.widget.TextInputLayout 
       android:id="@+id/tilTitle" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="24dp" 
       android:layout_marginStart="56dp" 
       android:layout_marginTop="?attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       android:theme="@style/Toolbar" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

       <ViewSwitcher 
        android:id="@+id/switcherTitle" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 

        <TextView 
         android:id="@+id/tvTitle" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/title" 
         android:textSize="36sp"/> 

        <EditText 
         android:id="@+id/etTitle" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:ems="10" 
         android:hint="@string/title" 
         android:inputType="textMultiLine" 
         android:textSize="36sp"/> 
       </ViewSwitcher> 
      </android.support.design.widget.TextInputLayout> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       android:theme="@style/Toolbar" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 
      </android.support.v7.widget.Toolbar> 
     </android.support.design.widget.CollapsingToolbarLayout> 


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

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <FrameLayout 
      android:id="@+id/contentFrame" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 
    </android.support.v4.widget.NestedScrollView> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab_save_confirm_action_item" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="16dp" 
     android:src="@drawable/ic_done_white_36dp" 
     app:fabSize="normal" 
     app:layout_anchor="@id/collapsingToolbar" 
     app:layout_anchorGravity="bottom|right|end"/> 

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adBannerView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom" 
     ads:adSize="BANNER" 
     ads:adUnitId="ca-app-pub-5185146194441120/1301019297"/> 
</android.support.design.widget.CoordinatorLayout> 

Aber es gibt ein Problem.

NestedScrollView über den Bildschirm.

Es ist nicht in seiner übergeordneten Höhe passen.

enter image description here

Wenn ich unten Code anwenden, ist es hilfreich.

android:layout_marginBottom="?attr/actionBarSize" 

Das bedeutet, dass ich mit "actionBarHeight" steuern sollte?

Gibt es einen anderen intelligenten Weg?

Antwort

0

Sie müssen setSupportActionBar mit Ihrer Symbolleiste in der Activity onCreate-Methode aufrufen.

heißt

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_my); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
} 
0

Versuchen minHeight Attribut in Ihrem CollapsingToolbarLayout Einstellung.

Ähnliche Ausgabe und die Antwort here