登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

自定义控件-悬浮控件-仿360手机助手应用详情页

来自: sdsadsadasdasd 分类: Android精品源码 上传时间: 2017-1-6 14:44:13
Tag:

项目介绍:

特点
  • 1.顶部支持ScrollView及ScrollView大于一屏幕的情况
  • 2.悬浮区域支持普通view,viewgroup
  • 3.内容支持GridView-GridViewWithHeaderAndFooterFragment(支持header和footer的GridView)
    ScrollView,ListView,RecyclerView以及对应的空布局及loading布局。
  • 4.支持在外面包装SwipeRefreshLayout,ultra-ptr 下拉刷新
  • 5.支持悬浮回调

GridViewWithHeaderAndFooterFragment
https://github.com/liaohuqiu/android-GridViewWithHeaderAndFooter/
声明
本项目纯属开源,只是为了更好的提高Android的开发技术,小宝贝们~~~~~
效果图


自定义属性
[XML] 查看源文件 复制代码

    
         
        
         
        
    

stickOffset 属性细说
现在悬浮是当top区域完全滑动到屏幕外面时,中间的悬浮区域悬浮起来了,如果你有这么一种需求是距离悬浮区域有一定的距离比如(40dp)可以用这个属性,满足需求.
使用时的注意事项
注意控件id的设置
top区域:id必须为: android:id="@+id/id_stickynavlayout_topview"
悬浮区域:id必须为: android:id="@+id/id_stickynavlayout_indicator"
内容区域:id必须为: android:id="@+id/id_stickynavlayout_viewpager"
内容区域
1.比需为ViewPager或者其子类
2.ViewPager的内容可以是Fragment,如果Fragment想用ListView,RecycleView等需要设置其id为:
android:id="@+id/id_stickynavlayout_innerscrollview"
比如:

[XML] 查看源文件 复制代码


    


or
[XML] 查看源文件 复制代码




    

        

    

使用
[XML] 查看源文件 复制代码
    

        

            
        

        

        

    

TopView(顶部区域大于一屏)
[XML] 查看源文件 复制代码



    
            
        
            

                
            
        

        

        

    

Java 代码使用
相信你可以点一下就知道什么用了 .... 是不是呢?小宝贝~~~!!
接口回调
[Java] 查看源文件 复制代码
 stickyNavLayout.setOnStickStateChangeListener(new StickyNavLayout.onStickStateChangeListener() {
            @Override
            public void isStick(boolean isStick) {

            }

            @Override
            public void scrollPercent(float percent) {

            }
        });

Maven
[XML] 查看源文件 复制代码

        com.gxz.stickynavlayout
        library
        1.3.2
        jar
        sources

Gradle
[XML] 查看源文件 复制代码
    compile 'com.gxz.stickynavlayout:library:1.3.2'

Demo
Demo中的导航控件是:PagerSlidingTabStrip
是我一个开源项目: https://github.com/ta893115871/PagerSlidingTabStrip/
V1.1版本
1.增加如果TopView大于一屏TopView无法显示的问题,比如顶部区域为ScrollView
2.支持顶部区域可以是ScrollView
V1.2版本
1.修复TOP区域中不支持控件动态GONE/VISIBLE的BUG
使用用法,设置完GONE/VISIBLE后调用updateTopViews();方法

[Java] 查看源文件 复制代码
    @OnClick(R.id.show)
    public void show() {
        button1.setVisibility(View.VISIBLE);
//        button2.setVisibility(View.VISIBLE);
        linearLayoutLayout.setVisibility(View.VISIBLE);
        stickyNavLayout.updateTopViews();
    }

    @OnClick(R.id.hide)
    public void hide() {
        button1.setVisibility(View.GONE);
//        button2.setVisibility(View.GONE);
        linearLayoutLayout.setVisibility(View.GONE);
        stickyNavLayout.updateTopViews();
    }

再次 如果你动态修改了top区域中有关view(比如TextView的文本-这时高度就变了),这是你需要在修改完后重新调用如下方法,更新高度
比如:

textViewMsg.setText(getResources().getString(R.string.msg)); stickyNavLayout.updateTopViews();
从而可以避免topView有空白或者高度不够的问题

2.增加setStickNavAndScrollToNav方法.
该方法的意思是:java代码动态设置悬浮,并自动滚动到悬浮位置(即把top区域滚动上去),详细见demo中的TopOperateActivity
V1.3版本
修改因1.2版本造成的stickOffset不起作用的问题
V1.3.1版本
修改stickOffset造成内容区域底部显示不全问题,最近丢三落四的!
V1.3.2版本
修改一些bug

相关源码推荐:

我来说两句
*滑动验证:
所有评论(5)
snowqoo228 2017-1-6 14:46:42
相当不错,感谢无私分享精神!
回复
转角依然笑~ 2017-1-6 14:53:55
相当不错,感谢无私分享精神!
回复
yukong 2017-1-6 15:11:43
mark,收藏了
回复
chaoyue 2017-1-6 15:46:00
不错不错,楼主辛苦了。。。
回复
subsoil 2017-1-6 16:05:24
不错不错,楼主辛苦了。。。
回复
Frank_z 2017-1-6 16:37:06
mark,收藏了
回复
pdsxsy007 2017-1-6 17:19:25
楼主用心了,内容非常精彩。
回复
提取码:  下载次数:16 状态:已购或VIP 售价:10(原价:10)金钱 下载权限:限制会员 
757 0 16
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,769657487

如何获得代码达人称号

如何成为签约作者

联系我们
关闭
合作电话:
13802416937
Email:
[email protected]
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表