2015-09-29 4 views
6

Ich habe ein Problem zu machen „Symbolleiste mit Titeltext“ Nicht zu minimieren, während nach oben in CollapsingToolbarLayout scrollen.Android Toolbar collapseMode Ausgabe

Ich habe ein paar Veränderungen versucht, mithilfe von App: layout_collapseMode = „none“ als Attribut in meinem android.support.v7.widget.Toolbar aber seine nicht funktioniert. Vielleicht gibt es ein Problem mit meinem Layout.

Im Folgenden finden Sie, was ich zu erreichen versuchen.

Trying to Achieve

Aber wenn ich nach oben scrollen, die Toolbar auch kollabieren, und die tabBar scrollt auch nach innen, und werden nicht sichtbar. Unten ist was ich jetzt habe.

what i have now

Das ist mein Layoutcode

<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.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 



     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/collapsing_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways"> 

      <FrameLayout 
       android:layout_width="match_parent" 
       android:layout_height="250dp" 
       app:layout_collapseMode="parallax" 
       app:layout_collapseParallaxMultiplier="0.7"> 

       <ImageView 
        android:id="@+id/backdrop" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:scaleType="centerCrop" /> 

       <View 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:background="#20000000" /> 

      </FrameLayout> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="none" 
       > 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Application Title" 
        android:textColor="#fff" 
        android:textSize="18sp" /> 
      </android.support.v7.widget.Toolbar> 




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



     <android.support.design.widget.CollapsingToolbarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:layout_scrollFlags="scroll|enterAlways"> 

      <android.support.design.widget.TabLayout 
       android:id="@+id/detail_tabs" 
       android:layout_width="match_parent" 
       android:layout_height="60dp" 
       app:layout_collapseMode="pin" 

       android:background="#00000000" 
       app:tabSelectedTextColor="#3498db" 
       app:tabTextColor="#000" /> 
      /> 

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

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="#333" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 
</android.support.design.widget.CoordinatorLayout> 

Abhängigkeiten

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile "com.android.support:appcompat-v7:22.2.1" 
    compile "com.android.support:support-annotations:22.2.1" 
    compile "com.android.support:design:22.2.1" 
    compile 'com.android.support:recyclerview-v7:22.2.1' 
    compile 'com.android.support:cardview-v7:22.2.1' 

} 

Antwort

8

try to top diese ...

Sie haben App verwenden: layout_scrollFlag s = "scroll | exitUntilCollapsed" statt App: layout_scrollFlags = "scroll | enterAlways" innerhalb des CollapsingToolbarLayout

und verwenden App: layout_collapseMode = "Pin" innerhalb der Symbolleiste

<android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     app:contentScrim="?attr/colorPrimary" > 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="250dp" 
      app:layout_collapseMode="parallax" 
      app:layout_collapseParallaxMultiplier="0.7" > 

      <ImageView 
       android:id="@+id/backdrop" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:scaleType="centerCrop" /> 

      <View 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="#20000000" /> 
     </FrameLayout> 

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

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Application Title" 
       android:textColor="#fff" 
       android:textSize="18sp" /> 
     </android.support.v7.widget.Toolbar> 

    </android.support.design.widget.CollapsingToolbarLayout> 
+0

Ja, es hat funktioniert, Danke für deine Antwort! Haben Sie bitte einen Link, wo ich mehr über den Umgang mit Layouts besser lernen kann? –

+0

http://www.sitepoint.com/material-design-android-design-support-library/ –

+0

Hat "App: layout_collapseMode =" Pin "" für Symbolleiste nur funktionieren? –

5

In der Symbolleiste dies tun:

app:layout_collapseMode="pin" 

Stift wird für Pinning das Layout verwendet nach oben, wenn die kollabierenden Symbolleiste Layout Rollen

Parallaxe zum Verbergen des Layouts verwendet, wenn Symbolleiste Kollabieren scrollt

+0

Vielen Dank für Ihre Antwort: „Nun behält es, wie ich allmählich nach oben“, aber sobald ich auf die Position der Symbolleiste bewegen, bekommen Sie die Symbolleiste nach oben und werden nicht sichtbar geschoben. –

+0

Könnte etwas mit meinem bestehenden Layout nicht stimmen? –

+0

lassen Sie mich überprüfen Sie bitte – Aakash