1

Ich habe dieses Layoutdeaktivieren FAB verblassen Animation

<?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="me.myapplication.ScrollingActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/app_bar_height" 
     android:fitsSystemWindows="true" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

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

      <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/AppTheme.PopupOverlay"/> 

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

    <include layout="@layout/content_scrolling"/> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/fab_margin" 
     app:layout_anchor="@id/app_bar" 
     app:layout_anchorGravity="bottom|end" 
     app:srcCompat="@android:drawable/ic_dialog_email"/> 

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

Wenn ich nach oben und unten die FAB blendet und aus ->video

Ist es möglich, diese Fade-Animation zu deaktivieren?

+0

Was würden Sie genau gerne? Einklappbare Symbolleiste mit immer fixiertem FAB? Sollte es seine Größe verringern? – Gaket

+0

Für zukünftige Leser: Die Antwort klärt die Frage. Ich habe diese Frage + Antwort gefunden, als ich herausfinden wollte, warum das Attribut Behavior_AutoHide des FloatingActionButtons nicht funktionierte. – amcnabb

Antwort

2

Ich fand es :-)

Die Behavior des FloatingActionButton hat eine behavior_autoHide Option.

Das Problem war, dass ich versuchte, diese Option im Layout-XML festzulegen. Aber die FloatingActionButton.Behavior hat diese Option nicht gelesen, weil Android den falschen Konstruktor aufruft.

public Behavior() { 
    super(); 
    mAutoHideEnabled = AUTO_HIDE_DEFAULT; 
} 

Sie haben auch die Behavior im Layout xml einzustellen. Jetzt ruft Android den richtigen Konstruktor auf und das Flag behavior_autoHide wird gelesen.

public Behavior(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    TypedArray a = context.obtainStyledAttributes(attrs, 
      R.styleable.FloatingActionButton_Behavior_Layout); 
    mAutoHideEnabled = a.getBoolean(
      R.styleable.FloatingActionButton_Behavior_Layout_behavior_autoHide, 
      AUTO_HIDE_DEFAULT); 
    a.recycle(); 
} 

Der wichtige Teil sollte Ihr Layout xml so aussehen

<android.support.design.widget.FloatingActionButton 
    app:behavior_autoHide="false" 
    app:layout_anchor="@id/appbar" 
    app:layout_behavior="android.support.design.widget.FloatingActionButton$Behavior" 
    app:layout_anchorGravity="bottom|right|end"/> 
+0

Gute Arbeit. Es ist cool, dass das Hinzufügen der Zeile "app: layout_behavior" ausreicht, um den Fehler zu umgehen. – amcnabb

0

Sie können versuchen, die Volltextsuche zu verwenden: Strg + Umschalt + F, um "FloatingActionButton.Behavior" zu finden. Der Nachfolger dieser Klasse definiert das Verhalten von FAB. Sie können also Zeilen entfernen, die mit diesem Fading umgehen. Wenn Sie es nicht finden, versuchen Sie, nur "Verhalten" zu finden, falls es auf das Koordinator-Layout und nicht direkt auf den FAB angewendet wird.

+0

Ich habe mir dieses Verhalten angeschaut, aber es ist nicht das, wonach ich suche (oder ich benutze es falsch) –

+0

Könnten Sie bitte diese Klasse zu Ihrer Frage hinzufügen? – Gaket

Verwandte Themen