R语言 如何添加一个大的,彩色图标到一个闪亮的模态中心

4ngedf3f  于 2023-06-03  发布在  其他
关注(0)|答案(2)|浏览(198)

我想创建一个闪亮的模态,看起来像一个可怕的警告。
以下是我到目前为止的情况:

library(shiny)

ui = basicPage(
  actionButton("show", "Show modal dialog")
)

server = function(input, output) {
  observeEvent(input$show, {
    showModal(modalDialog(
      title = icon("bomb"),
      "This is an important message!"
    ))
  })
}

shinyApp(ui, server)

产生了这个

我怎样才能使图标的方式更大,居中,并警告颜色,如橙子或红色?我使用bslib的主题,所以理想的警告颜色将绑定到主题。

oxalkeyp

oxalkeyp1#

这是基于FontAwesome,它允许大小调整,请参阅https://fontawesome.com/docs/web/style/size
演示:

shiny::icon("bomb")
shiny::icon("bomb", class="fa-2xl")
shiny::icon("bomb", class="fa-10x", style="color: Tomato;")

分别为:

至于居中,如果你不怕在页面上居中 * 所有 * <h4>元素,这是可行的:

library(shiny)
ui = basicPage(
  tags$style(HTML("h4 { text-align: center; }")),
  actionButton("show", "Show modal dialog")
)
server = function(input, output) {
  observeEvent(input$show, {
    showModal(modalDialog(
      title = icon("bomb", class="fa-10x", style="color: Tomato;"),
      "This is an important message!"
    ))
  })
}
shinyApp(ui, server)

jyztefdp

jyztefdp2#

你可以使用一个甜蜜的提醒,但你只有四个选择的图标。

library(shiny)
library(shinyWidgets)

ui <- fluidPage(
  actionButton(
    inputId = "btn",
    label = "Launch a warning sweet alert",
    icon = icon("check")
  )
)

server <- function(input, output, session) {
  
  observeEvent(input$btn, {
    show_alert(
      title = "Important !!",
      text = "Read this message...",
      type = "warning"
    )
  })
  
}

shinyApp(ui, server)

相关问题