Opportunity的s3在init的时候有加载custom css的文件 ```javascript jQuery.sap.includeStyleSheet(jQuery.sap.getModulePath("cus.crm.opportunity.css.Opportunity", ".css"), "sap-ui-theme-sap.crm"); ``` 我往这个css文件里面加一个自定义的css class ```css .myAwesomeBtnBackgroundColor { background-color: red; } ``` 之后就找出Target button然后将这个custom css class加载上去…

var oFooter = this.getView().getController().getPage().getFooter(),
oFollowBtn = oFooter.getContentRight()[1];oFollowBtn.addStyleClass("myAwesomeBtnBackgroundColor");

我们遇到的问题是改button text的颜色,比如把你们例子中的“follow me”字体改成蓝色。
你们email中的核心思想是找到button然后通过addStyleClass() 来修改button的css

如果我的理解没有错误的话,我已经尝试过了,但是其实修改button的css style并不能改变button text的style。

我有一个button,id是”interactionButton”它的text是“0 Requests”,我要根据不同的情况还改变 button text的颜色。

看我截图黄色highlight部分,目前我们发现只有改” interactionButton-inner”或者“interactionButton-content”的css style才能改text 的颜色,改动button “interactionButton”是不work的

曾经尝试在controller.js 的onAfterRendering方法里面通过拿到this.getView().byId(“interactionButton-inner”)或者this.getView().byId(“interactionButton-content”)来change style,
但其实在onAfterRendering方法里面,interactionButton-inner和interactionButton-content 都还没有被render,所以尝试失败

目前我们一个非常ugly的solution如下,直接修改div。。我觉得这样不是个good solution。。。。

solution

首先看为什么byId, 传button id进去能够访问到button:

因此这里有两个维度的东西:

  1.  Ui5 control object – 通过上图line 307行生成。每个control object在core的this.mElements里拥有一行对应的entry。使用byId时,传入的id必须是ui5 control object的id,不能是native html tag的id。
    
  2.  Native html tag.  在AfterRendering之前,button对应的inner div tag在此处被render。其id的naming convention就是line 99行, button本身的id + “-inner”.
    

但是这个native html tag并不会注册到core的this.mElements去,因此byId() query不出来。

所以再回到你的需求,button的inner div这个实现对于我们application developer是透明的。如果我们要修改text color, 只能通过button 提供的API。

但是API 文档上button只有setText的功能,那我们先看看setText 是怎么被框架实现的?

通过读代码发现和你的实现一致。

因此我们可以得出一个generic的结论:

  1.  如果需求希望修改button的属性是UI5 layer的,换句话说属性能在这个button.js里找到,则直接用button reference的API修改
    

  1.  否则,是native layer的属性,只用通过操作dom 解决。
    

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

How to change the background color of button in Footer area相关推荐

  1. different styles of button in footer area

    Created by Jerry Wang, last modified on Sep 02, 2015 style1: style2: 由此可见, 只要应用程序的controller是继承自Base ...

  2. R语言plotly包可视化线图(line plot)、使用restyle参数自定义设置可视化结果中线条的颜色、使用按钮动态切换线条的颜色(change line color with button)

    R语言plotly包可视化线图(line plot).使用restyle参数自定义设置可视化结果中线条的颜色.使用按钮动态切换线条的颜色(change line color with button i ...

  3. android按钮背景颜色函数,Android按钮背景颜色(Android button background color)

    Android按钮背景颜色(Android button background color) 我想在我的应用程序中设置按钮的背景颜色,我无法实现我想要的结果... 我试图设置的颜色是holo_gree ...

  4. python使用matplotlib可视化线图(line plot)、自定义可视化图像的四个边框的色彩、可以分别设置矩形每一条边的色彩(change the axis color)

    python使用matplotlib可视化线图(line plot).自定义可视化图像的四个边框的色彩.可以分别设置矩形每一条边的色彩(change the axis color of a plot ...

  5. R语言ggplot2在可视化图像中添加横线并在横线中添加文本、为横线中添加的文本添加文本框、自定义文本框的填充色(background color for a text annotation)

    R语言ggplot2在可视化图像中添加横线并在横线中添加文本.为横线中添加的文本添加文本框.自定义文本框的填充色(background color for a text annotation) 目录

  6. R语言ggplot2可视化自定义可视化结果的背景色(background color)实战:改变整个画板(panel)的背景色、改变图像(plot)区域的背景色

    R语言ggplot2可视化自定义可视化结果的背景色(background color)实战:改变整个画板(panel)的背景色.改变图像(plot)区域的背景色 目录

  7. Python使用matplotlib可视化自定义背景色实战:自定义可视化图像的背景色(Background Color)

    Python使用matplotlib可视化自定义背景色实战:自定义可视化图像的背景色(Background Color) 目录

  8. html body background color,HTML Style backgroundColor用法及代码示例

    HTML DOM中的backgroundColor属性用于设置或返回元素的背景色. 用法: object.style.backgroundColor 它返回元素的背景色. object.style.b ...

  9. jQuery获取div的背景颜色 How to get background color of div?

    直接代码: <script type="text/javascript"> $(document).ready(function(){$("div" ...

最新文章

  1. 斯坦福大学统计系教授带你玩转微生物组分析
  2. php电商交押金的逻辑,PHP高并发下抢购、秒杀功能的超卖问题
  3. Python 技术篇 - 通过pyminifier库实现源码压缩、混淆、加密保护实例演示,pyminifier的使用方法
  4. 1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client
  5. .net开发人员应该知道(一)
  6. 符乐安:2020年短视频创作将迎来新的高峰
  7. 范围查询 BETWEEN AND
  8. Boosting(提升方法)之GBDT
  9. mock模拟接口测试 vue_在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟...
  10. springboot中配置mybatis数据源,使用阿里的 Druid 数据库连接池
  11. Teamwork(The sixth day of the team)
  12. 正则表达式: input框禁止输入空格:不能只有空格、不能有空格、不能为空的判断
  13. Mac OS X 10.7.2 Lion下快速锁定屏幕
  14. 2_用keras训练一个神经网络及不同优化和初始化对性能的影响分析
  15. 51单片机驱动8位数码管(74HC595驱动)滚动显示
  16. 我看韩剧《寄生虫》,一副好牌究竟是怎么被打烂的?
  17. error 系统错误 错误码10007_linux系统中socket错误码:eintr和eagain的处理方法
  18. 酷客多接受CCTV2财经频道专访
  19. java 保存文件在服务器_Java中如何将数据保存到服务器端
  20. java jdk17 Tomcat

热门文章

  1. HTTP协议1之协议详解--转
  2. Docker(五)如何构建Dockerfile
  3. happens-before
  4. linux2.6内核compat_ioctl函数
  5. MVC3 Razor @RenderSection
  6. zookeeper集群配置说明以及window单台机器集群搭建
  7. 老郭的《Dalvik虚拟机垃圾收集机制简要介绍和学习计划》
  8. 文本挖掘(part4)--N-gram模型
  9. JavaScript入门(part5)--数据类型转换
  10. 《终身成长》读书笔记(part2)--失败从一种行为,转变为一种身份