如何在滚动后将图标从图像固定到工具栏,如WhatsApp组编辑图标

时间:2016-02-29 13:31:27

标签: android android-toolbar android-coordinatorlayout android-collapsingtoolbarlayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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.CoordinatorLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:fitsSystemWindows="true">

       <android.support.design.widget.AppBarLayout
           android:id="@+id/app_bar_layout"
           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:accessibilityLiveRegion="assertive"
               android:fitsSystemWindows="true"
               app:contentScrim="?attr/colorPrimary"
               app:layout_scrollFlags="scroll|exitUntilCollapsed"
               app:titleEnabled="true">

               <ImageView
                   android:id="@+id/image"
                   android:layout_width="match_parent"
                   android:layout_height="350dp"
                   android:fitsSystemWindows="true"
                   android:scaleType="centerCrop"
                   android:src="@drawable/ic_launcher"
                   app:layout_collapseMode="parallax" />


               <ImageView
                   android:id="@+id/imgicon1"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:layout_gravity="bottom|right"
                   android:layout_marginBottom="15dp"
                   android:fitsSystemWindows="true"
                   android:src="@drawable/fb"
                   app:layout_collapseMode="pin"
                   app:layout_collapseParallaxMultiplier="0.7" />

               <ImageView
                   android:id="@+id/imgicon2"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:layout_gravity="bottom|right"
                   android:layout_marginBottom="15dp"
                   android:layout_marginRight="45dp"
                   android:fitsSystemWindows="true"
                   android:src="@drawable/insta"
                   app:layout_collapseMode="pin"
                   app:layout_collapseParallaxMultiplier="0.7" />

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

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

       <android.support.v7.widget.RecyclerView
           android:id="@+id/recyclerView"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           app:layout_behavior="@string/appbar_scrolling_view_behavior"></android.support.v7.widget.RecyclerView>

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

滚动时,2个图标隐藏在图像后面而不是设置在工具栏内。任何想法我怎么能这样做,我看了很多例子,但现在为我工作。我已经实现了Appbarlayout的onOffsetChanged方法,并尝试使用动画,但对我没用。

1 个答案:

答案 0 :(得分:0)

Android: dynamically change ActionBar icon?中有一个接受的答案可以参考。您可以从图像视图中获取图像并根据需要缩小图像大小,并可以使用homeItem.setIcon(您的图像)更改图标;