我想要显示一些绿色或红色的图标按钮,问题是只要没有按下它们就会显示在右侧的两个按钮上。当按下被设置为真如pressed="true"
时,它不会起作用,因为按钮被选中但没有被按下。
这是一张解释我的意思的图片:
我想必须有一个简单的方法来做到这一点,或不是吗?必须有一些我可以在按钮中设置的内容,它会显示按钮按下时的显示方式
答案 0 :(得分:2)
按钮具有类型属性,带有一组预定义的值:您可以使用"接受"绿色和"拒绝"为了红色。请记住,颜色取决于主题。请参阅以下代码:
<!DOCTYPE html>
<html>
<head>
<meta name="description" content="UI5 table example with local JSON model" />
<meta http-equiv='X-UA-Compatible' content='IE=edge' />
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8'/>
<style>
.MyAcceptButton.sapMBtn span.sapMBtnInner.sapMBtnAccept {
background-color: Gold;
}
.MyAcceptButton.sapMBtn:hover>.sapMBtnHoverable.sapMBtnAccept:not(.sapMBtnActive) {
background-color: GoldenRod;
}
.MyAcceptButton.sapMBtn:not(.sapMBtnDisabled)>span.sapMBtnInner.sapMBtnAccept.sapMBtnActive {
background-color: Orange;
}
</style>
<title>UI5 Button Example</title>
<script id='sap-ui-bootstrap' type='text/javascript'
src='https://openui5.hana.ondemand.com/resources/sap-ui-core.js'
data-sap-ui-theme='sap_bluecrystal'
data-sap-ui-libs='sap.m,sap.ui.core'></script>
<script>
var oHBox = new sap.m.HBox({ width: "100%" });
// Create Button with specific color scheme via custom style
// Gold color for normal background
// GoldenRod for background when mouse hovering
// Ornage for a pressed button
var oAcceptButton = new sap.m.Button({ icon: "sap-icon://history", type: "Accept" });
oAcceptButton.addStyleClass("MyAcceptButton");
oHBox.addItem(oAcceptButton);
oHBox.addItem(new sap.m.Button({ icon: "sap-icon://history", type: "Accept"}));
oHBox.addItem(new sap.m.Button({ icon: "sap-icon://history", type: "Reject"}));
oHBox.placeAt("content");
</script>
</head>
<body class="sapUiBody" id="content">
</body>
</html>
&#13;
还有一个ToggleButton,请参阅here。它还具有类型属性,因此您可以更改其颜色。