码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • FrameWork之旅 -- Activity过去的门面ActionBar


    本系列的阅读,前提你是一个Android开发者,而且是一个app开发,并且有一定的工作经验。本系列的学习,不会每个细节都说明,会把有“看点”的地方加以说明。

    如果你不是Android开发,但是对这个actionbar想有个大概的印象,看看这个极光推送-感受下极光推送的效果_gkkk_1的博客-CSDN博客

    的Jush SDK demo就是一个actionbar了。

    actionbar作为一个刚开始作为标题栏的存在,现在慢慢充当越来越多元化的角色,当然你也可以隐藏不使用它。现在更多的使用ToolBar替代ActionBar,ToolBar显然更加灵活,并且是个Material Design 风格的导航控件。当然我们是来研究Framework的,如果只是介绍这个actionbar的功能,那就是app教程了,我们还是要看看它的源码的。

    ActionBar作为一个抽象类,我们就关注它的抽象方法,主要是从这些方法知道设计一个actionbar需要考虑使用什么功能。

    public abstract void setCustomView(View view);

    actionbar就是个视图容器,这里这个setCustomView明显就是用来给自己填充View视图的入口。

    public abstract void setCustomView(View view, LayoutParams layoutParams);

    如果上面就是生硬的默认加载进来一个图,这个就是加载进来,并且可以指定布局规则的一个布局参数。

    public abstract void setCustomView(@LayoutRes int resId);

    如果说第二个你觉得太棒了,那就高兴太早了,这个方法明显更加的smart,它允许你在家做homework,然后整体提交给我,我给展示的平台,给你充分的发挥的空间。直接引用布局id来加载布局。

    public abstract void setIcon(@DrawableRes int resId);
    public abstract void setIcon(Drawable icon);

    actionbar不止只有“标题”,还有更拉风的

    极光推送-感受下极光推送的效果_gkkk_1的博客-CSDN博客

    Jush SDK demo左侧个性化的logo。

    1. public abstract void setListNavigationCallbacks(SpinnerAdapter adapter,
    2. OnNavigationListener callback);

    adapter为下拉菜单的适配器,callback是在这个回调中定义当用户选择列表中一个项目时所发生的行为

    设置title和副标题

    public abstract void setTitle(CharSequence title);
    public abstract void setSubtitle(CharSequence subtitle);

    控制显示隐藏、判断、是否可见

    1. public abstract boolean isShowing();
    2. public abstract void hide();
    3. public abstract void show();

    剩余的一些抽象方法我们不在列举了,由于ActionBar时至今日,已是昨日黄花了,作为曾经的activity的门面,今日已经不在辉煌,等它的只有超大的deprecated。我们研究它,就是回味和知道我们很多年前调用这些方法时,当时很方便,现在只是学习一下,设计一个导航栏当时谷歌开发者的设计思想,这才是我们要学习的武功路数。

  • 相关阅读:
    MD-MTSP:粒子群优化算法PSO求解多仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)
    Linux CP文件夹略过目录的解决
    使用ipmitool配置X86服务器的BMC网络和用户信息
    APP应用开发sdk版本过低可能性原因问题排查及解决方案
    通过java爬取动态网页
    为什么要拼命冲刺备考浙大MBA?这可能是最实在的理由了
    Axure RP医疗在线挂号问诊原型图医院APP原形模板
    准备篇(四)HTTP 基本原理
    用sh命令执行shell脚本报错
    人体姿态估计和手部姿态估计任务中神经网络的选择
  • 原文地址:https://blog.csdn.net/gkkk_1/article/details/128138807
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号