Android滑动到顶部悬停
StaciAwb
8年前
<p>无图说卵,先上图</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/0839ecba95d901ff3135e2dd5a476f4f.gif"></p> <p style="text-align:center">jianshu-top.gif</p> <p>查阅资料后,发现网上大部分都是用这种方法实现的:</p> <p>多写一个和需要悬浮的部分一模一样的layout,先把浮动区域的可见性设置为gone。当浮动区域滑动到顶部的时候,就把浮动区域B的可见性设置为VISIBLE。这样看起来就像悬浮在顶部不动了。</p> <p>具体看下边文章 :</p> <p><a href="/misc/goto?guid=4959715662614610784" rel="nofollow,noindex">高仿美团app,浮动layout滑动到顶部悬停效果</a></p> <p><a href="/misc/goto?guid=4959715662719995049" rel="nofollow,noindex">Android实例-仿美团app,浮动layout滑动到顶部悬停效果</a></p> <p>这里介绍的是另外一种方式:</p> <h3><strong>使用design包中的控件</strong></h3> <pre> <code class="language-xml"><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="com.peipei.app.MainActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="250dp"> <android.support.design.widget.CollapsingToolbarLayout app:layout_scrollFlags="scroll" app:contentScrim="#000000" android:layout_width="match_parent" android:layout_height="220dp"> <TextView android:text="banner区域" android:gravity="center" android:textColor="#ffffff" android:background="#987545" android:layout_width="match_parent" android:layout_height="220dp"/> </android.support.design.widget.CollapsingToolbarLayout> <TextView android:gravity="center" android:layout_width="match_parent" android:layout_height="30dp" android:text="悬浮的部分"/> </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"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/text_margin" android:text="@string/large_text"/> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout></code></pre> <h3><strong>实现步骤:</strong></h3> <ol> <li>将需要悬浮的layout放到CollapsingToolbarLayout之外,AppBarLayout之内</li> <li>将CollapsingToolbarLayout的app:layout_scrollFlags设置为scroll</li> <li>给滚动的NestedScroolView设置<br> app:layout_behavior="@String/appbar_scrolling_view_behavior"<br> 就大功告成了(记得根布局要是CoordinatorLayout)</li> </ol> <p>最终效果:</p> <p style="text-align:center"><img src="https://simg.open-open.com/show/f36d0e16269c3ba4890f28f20e3f67a7.gif"></p> <p style="text-align:center">damo-jianshu-top.gif</p> <p> </p> <p>来自:http://www.jianshu.com/p/abdb9828a00d</p> <p> </p>