5

attualmente lavorando su un'applicazione in cui ho bisogno di aggiungere "share" e "aggiungere" pulsanti nell'angolo in basso a destra di un Collapsing toolbar (per effetto di parallasse).Aggiunta FloatingActionButton a crollare il layout della barra degli strumenti

Quali potrebbero nascondersi sullo scorrimento o sedersi su Actionbar. Aggiunta l'immagine di ciò che voglio ottenere. Attualmente non ho idea di come fare questo (provato con pulsanti di azione mobili con ancore, ma fallito).

Questo è ciò che è dovrebbe essere simile:

Ecco il codice:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
android:id="@+id/htab_maincontent" 
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:fitsSystemWindows="true"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/htab_appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

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

     <ImageView 
      android:id="@+id/htab_header" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@drawable/header" 
      android:fitsSystemWindows="true" 
      android:scaleType="centerCrop" 
      app:layout_collapseMode="parallax"/> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/htab_toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:gravity="top" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
      app:titleMarginTop="13dp"/> 
    </android.support.design.widget.CollapsingToolbarLayout> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/htab_tabs" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:layout_gravity="bottom" 
     android:background="@color/colorPrimary" 
     app:tabIndicatorHeight="@dimen/tabIndicatorHeight"/> 
</android.support.design.widget.AppBarLayout> 

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

Potresti condividere il layout o aggiungerlo nella domanda? – Mohsen

+0

aggiunto @ LinX64 – Nilabja

risposta

6

Se si utilizza che nel CollapsingToolbarLayout, si può fare questo:

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

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="190dp" 
      android:background="@android:color/darker_gray" 
      android:minHeight="190dp" 
      android:src="@drawable/ic_email" 
      app:layout_collapseMode="parallax" 
      android:id="@+id/imageView8" /> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fabmain" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom|end" 
      android:src="@drawable/ic_add" 
      app:backgroundTint="@color/ColorAccent" 
      app:borderWidth="0dp" 
      app:fabSize="mini" 
      app:layout_anchor="@id/app_bar_layout" 
      app:layout_anchorGravity="bottom|end" 
      android:layout_marginLeft="16dp" 
      android:layout_marginRight="16dp" 
      android:layout_alignTop="@+id/fabmain2" 
      android:layout_toStartOf="@+id/fabmain2" 
      android:layout_marginEnd="20dp" /> 

     <android.support.design.widget.FloatingActionButton 
      android:id="@+id/fabmain2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="bottom|end" 
      android:layout_marginLeft="16dp" 
      android:src="@drawable/ic_add" 
      app:backgroundTint="@color/ColorAccent" 
      app:borderWidth="0dp" 
      app:fabSize="mini" 
      app:layout_anchor="@id/app_bar_layout" 
      app:layout_anchorGravity="bottom|end" 
      android:layout_marginRight="16dp" 
      android:layout_marginEnd="23dp" 
      android:layout_alignBottom="@+id/imageView8" 
      android:layout_alignParentEnd="true" 
      android:layout_marginBottom="29dp" /> 

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

     </RelativeLayout> 

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

Inoltre, in base a Google Material Design, non penso che questo sia il modo standard/o un buon modo per due pulsanti!


Inoltre, questa è la mia idea (metodo standard):

Si potrebbe aggiungere un Share action con l'icona sul Actionbar e quindi utilizzare uno FloatingActionButton come questo:

https://github.com/xuyisheng/DesignSupportLibraryDemo


Oppure l'ho fatto in questo modo:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:card_view="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#EEEEEE" 
    android:fitsSystemWindows="true"> 

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

     <!--Your content--> 

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

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_layoutdetails" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

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

      <RelativeLayout 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

       <ImageView 
        android:id="@+id/thumbnaildetails" 
        android:layout_width="match_parent" 
        android:layout_height="200dp" 
        android:layout_alignParentStart="true" 
        android:contentDescription="@string/imghd" 
        android:fitsSystemWindows="true" 
        android:scaleType="centerCrop" 
        app:layout_collapseMode="parallax" /> 

       <TextView 
        android:id="@+id/txtitemdetailstitle" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentTop="true" 
        android:layout_centerHorizontal="true" 
        android:layout_marginTop="85dp" 
        android:textAppearance="?android:attr/textAppearanceMedium" /> 


      </RelativeLayout> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/tbbardetails" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:layout_alignParentStart="true" 
       android:layout_alignParentTop="true" 
       app:layout_collapseMode="pin" 
       app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

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

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

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="16dp" 
     android:src="@drawable/ic_work" 
     app:backgroundTint="#E91E63" 
     app:fabSize="normal" 
     app:layout_anchor="@id/app_bar_layoutdetails" 
     app:layout_anchorGravity="right|bottom" /> 

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

so che questo non è come dovrebbe essere fatto, se avete qualche idea migliore si prega di condividere – Nilabja

+0

sì, certo, per favore tempo, condividerò i codici – Mohsen

+0

che sarebbe grande – Nilabja

Problemi correlati