Android实现实现App中导航中导航Tab栏悬浮的功能栏悬浮的功能
相信大家在玩手机的过程中应该会注意到很多的app都有这种功能,比如说外卖达人常用的“饿了么”。所以这篇
文章给大家分享了Android如何实现app中的导航Tab栏悬浮的功能,有需要的朋友们可以参考借鉴。
首先是首先是“饿了么饿了么”导航导航Tab栏悬浮的效果图。栏悬浮的效果图。
大家可以看到上图中的“分类”、“排序”、“筛选”会悬浮在app的顶部,状态随着ScrollView(也可能不是ScrollView,在这里姑且
把这滑动的UI控件当作ScrollView吧)的滚动而变化。像这种导航Tab栏悬浮的作用相信大家都能体会到,Tab栏不会随着
ScrollView等的滚动而被滑出屏幕外,增加了与用户之间的交互性和方便性。
看到上面的效果,相信大家都跃跃欲试了,那就让我们开始吧。
首先大家要明白一点:Tab栏的状态变化是要监听ScrollView滑动距离的。至于如何得到ScrollView的滑动距离?可以看看另
一篇: 《Android中ScrollView实现滑动距离监听器的方法》 ,这里就不过多叙述了。
好了,根据上面的就得到了对ScrollView滑动的监听了。接下来要思考的问题就是如何让Tab栏实现悬浮的效果呢?这里给出
的方法有两种,第一种就是使用WindowManager来动态地添加一个View悬浮在顶部;第二种就是随着ScrollView的滑动不断
重新设置Tab栏的布局位置。
我们先来看看第一种实现方法,首先是我们先来看看第一种实现方法,首先是xml布局了。布局了。
Activity的布局,的布局,activity_main.xml::
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/rl_title"