Android 底部导航栏中间凸起、动态配置替换底部导航栏Tab图标(按钮、标签)的实现方案
2017-03-02 18:44
781 查看
标签:底部导航栏中间凸起、动态配置底部导航、底部导航中间大圆圈
类似 京东 淘宝 等app,在一些节假日的时候,首页UI 一般都是配置的节日气息很浓重,这类的实现一般是不需要发版,思路是 由后台直接配置,第一次开启App后台下载,在下次打开时 直接展示下载的图标。
思路分析 一般默认 一套普通图标平日展示使用, 后台下载一套新的图标,固定时间段展示使用。
比如 淘宝
假设下面这个是节日展示的底部导航
实现原理:
1.开启应用 ,后台下载活动图标。
2.下次打开应用,检测是否要展示。
3.底部导航实现,这里以RadioButton 为例, RadioButton 自带选中和默认 两种状态,所以只要我们将下载下来的图标做成selector选择器设置给RadioButton , 我们就可以实现替换图标的需求。
实现分析细节补充:
1. 启动页 请求后台图标接口,判断后台下载图标。
2.启动时, 检测下载图标是否完整,一定要下载完全,如果不完整,则展示出现问题,需要重新下载。
3.如果已经下载到本地,并且校验符合条件,则 加载本地图标生成Drawable,然后设置给Selector,然后将Selector 添加到 相应的RadioButton 上面。
圖片的下載比較容易,不做介紹,只介紹生成select部分:
//代碼生成Selector
StateListDrawable drawable = new StateListDrawable();
drawableDefault = new BitmapDrawable(bitmap);
drawableChecked);= new BitmapDrawable(bitmap);
drawable.addState(new int[]{android.R.attr.state_checked},
drawableChecked);
drawable.addState(new int[]{ - android.R.attr.state_checked},
drawableDefault);
// 將生成的Selector 添加到RadioButton 上面
drawable.setBounds(0,0,DimenUtil.dipToPx(context,30),DimenUtil.dipToPx(context,30));
radioButton.setCompoundDrawables(null,drawable,null,null);
下面是效果展示:
谢谢认真观读本文的每一位小伙伴,衷心欢迎小伙伴给我指出文中的错误,也欢迎小伙伴与我交流学习。欢迎爱学习的小伙伴加群一起进步:230274309 。
类似 京东 淘宝 等app,在一些节假日的时候,首页UI 一般都是配置的节日气息很浓重,这类的实现一般是不需要发版,思路是 由后台直接配置,第一次开启App后台下载,在下次打开时 直接展示下载的图标。
思路分析 一般默认 一套普通图标平日展示使用, 后台下载一套新的图标,固定时间段展示使用。
比如 淘宝
假设下面这个是节日展示的底部导航
实现原理:
1.开启应用 ,后台下载活动图标。
2.下次打开应用,检测是否要展示。
3.底部导航实现,这里以RadioButton 为例, RadioButton 自带选中和默认 两种状态,所以只要我们将下载下来的图标做成selector选择器设置给RadioButton , 我们就可以实现替换图标的需求。
实现分析细节补充:
1. 启动页 请求后台图标接口,判断后台下载图标。
2.启动时, 检测下载图标是否完整,一定要下载完全,如果不完整,则展示出现问题,需要重新下载。
3.如果已经下载到本地,并且校验符合条件,则 加载本地图标生成Drawable,然后设置给Selector,然后将Selector 添加到 相应的RadioButton 上面。
圖片的下載比較容易,不做介紹,只介紹生成select部分:
//代碼生成Selector
StateListDrawable drawable = new StateListDrawable();
drawableDefault = new BitmapDrawable(bitmap);
drawableChecked);= new BitmapDrawable(bitmap);
drawable.addState(new int[]{android.R.attr.state_checked},
drawableChecked);
drawable.addState(new int[]{ - android.R.attr.state_checked},
drawableDefault);
// 將生成的Selector 添加到RadioButton 上面
drawable.setBounds(0,0,DimenUtil.dipToPx(context,30),DimenUtil.dipToPx(context,30));
radioButton.setCompoundDrawables(null,drawable,null,null);
下面是效果展示:
谢谢认真观读本文的每一位小伙伴,衷心欢迎小伙伴给我指出文中的错误,也欢迎小伙伴与我交流学习。欢迎爱学习的小伙伴加群一起进步:230274309 。
相关文章推荐
- clipchildren 咸鱼app 中间 图标很大的 底部 tab栏 实现方案
- 实现底部导航栏中间凸起,(点击中间凸出按钮弹出菜单)
- Android解析自定义属性的XML实现底部导航栏TabSelectedView,实现灵活的配置扩展
- android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局
- Android开发技巧——实现底部图标文字的导航栏(已更新)
- Android开发技巧——实现底部图标文字的导航栏(已更新)
- android底部导航栏中间凸起效果的制作
- TabLayout+ViewPager+Fragment实现带图标和文字的底部导航栏
- Android App之底部tab导航常用实现方案总结
- 实现底部导航栏中间凸起
- Android开发之TabLayout实现底部导航栏
- Android底部导航栏实现(四)之TabLayout+ViewPager
- Android开发:顶部&底部Tab导航栏实现(TabLayout+ViewPager+Fragment)
- Android开发技巧——实现在图标文本底部导航栏(更新)
- android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局
- Android开发技巧——实现底部图标文字的导航栏(已更新)
- Android 高仿新浪微博底部导航栏,实现双击首页Tab,页面的ListView滚动、刷新
- Android 高仿新浪微博底部导航栏,实现双击首页Tab,页面的ListView滚动、刷新
- Android开发技巧——实现底部图标文字的导航栏(已更新)
- Android开发之TabLayout真正实现底部导航栏(可实现点击文字颜色图片切换)