当前位置: 首页 > 知识库问答 >
问题:

自定义按钮颜色?

龙亮
2023-03-14

我正在努力修改MUI next(v1)中的按钮颜色。

我该如何设置muitheme,使其行为与bootstrap相似,这样我就可以用“btn危险”表示红色,“btn成功”表示绿色?

我尝试了自定义class Name,但它不能正常工作(悬停颜色不会改变),而且似乎是重复的。我有什么选择?

共有3个答案

温开畅
2023-03-14

Bagelfp的回答是错误的,还有一些其他的事情要考虑;

首先,在material-ui@nextv1的按钮组件中,“错误”不是受支持的颜色主题。颜色道具只接受“默认”、“继承”、“主要”和“次要”。

这是迄今为止我发现的最简单的方法。首先,选择两种最常见的主题颜色,并将它们放在应用程序的根目录下。

import React from 'react';
import { Component } from './Component.js'
import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles';

const theme = createMuiTheme({
  palette: {
    primary: 'purple',
    secondary: 'green',
    error: 'red',
  },
});

export class App extends Component {
  render() {
    return (
      <MuiThemeProvider theme={theme}>
        <Component />
        ...
      </MuiThemeProvider>
    );
  }
}

然后在您的组件中,选择具有所需颜色的主题;

import React from 'react';
import Button from 'material-ui/Button';

export const Component = (props) => (
  <div>
    <Button variant="fab" color="primary">
      I am purple, click me!
    </Button>
  </div>
)

如果需要第三种和第四种颜色,可以导出组件。js使用一个新的调色板,就像你们在应用程序中做的一样。js。

<罢工> 这是我找到的唯一能让我保持黑暗悬停效果的解决方案(没有 官方覆盖示例保留功能悬停)。我真的希望我能找到一种方法,在调用按钮时简单地添加一个新的主题颜色,但现在这是最简单的方法。

编辑:我新的首选方法是使用样式组件和材料UI按钮库创建自定义按钮组件。我还将样式组件主题提供程序放在我的应用程序的根旁边。这让我可以轻松访问所有样式组件中的其他主题颜色,而无需导入和删除更多主题提供商。在我的CustomButton的情况下,我只是给它一个主题道具,它在样式(ButtonBase)中传递给css。有关更多信息,请参阅样式组件文档。

顾靖
2023-03-14

你可以试试这个

<Button
    style={{
        borderRadius: 35,
        backgroundColor: "#21b6ae",
        padding: "18px 36px",
        fontSize: "18px"
    }}
    variant="contained"
    >
    Submit
</Button>
范楚
2023-03-14

我在这篇文章中使用了Brendan的答案提出了这个解决方案。希望它能帮助处于类似情况的人。

import React, { Component } from 'react'
import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles'
import Button from 'material-ui/Button'
import { red, blue } from 'material-ui/colors'

const redTheme = createMuiTheme({ palette: { primary: red } })
const blueTheme = createMuiTheme({ palette: { primary: blue } })

class Buttons extends Component {
  render = () => (
    <div className="ledger-actions-module">
      <MuiThemeProvider theme={redTheme}>
        <Button color="primary" variant="raised">
          Delete
        </Button>
      </MuiThemeProvider>
      <MuiThemeProvider theme={blueTheme}>
        <Button color="primary" variant="raised">
          Update
        </Button>
      </MuiThemeProvider>
    </div>
  )
}
 类似资料:
  • > 标高,同时具有自定义可绘制。 在用户触摸的地方启动涟漪效果。

  • 问题内容: 我想在UITextField上创建自定义清除按钮,即使用rightView并将图像放在此处,问题是将原始的清除按钮事件附加到该自定义rightView上。 在Objective-C中,我可以这样做: 现在如何将其转换为Swift?或任何解决方法? 问题答案: 您可以将自定义按钮添加为类似这样的右视图

  • 我有一个按钮,它包含一个抽屉和文本。我希望按钮的背景不同于正常提供的(最好是一个普通的颜色)。这工作得很好,我只需在XML文件中使用属性并相应地分配颜色。然而,我希望背景改变为不同的颜色时,选择或聚焦(状态选择器)。 我尝试用定义的颜色在一个可绘制的文件夹中创建一个选择器(当处理按钮的文本时很好地工作),如下所示: 并将此xml设置为属性,如下所示: 但这会引起一个力闭合,说明: 但资源就在那里。

  • 问题内容: 我试图获取传递给JOptionPane的自定义按钮返回的值。但是,我通过的按钮根本不返回任何值。仅当按下退出按钮时,才返回-1的值。我需要这样做,因为我正在更改启用或禁用的按钮的属性。我假设我需要按钮以某种方式将某些信息返回给JOptionPane。任何想法? Nb这与我以前的问题有关-JOptionPane灰色输出一个按钮 我尝试像您说的那样设置按钮的值,但是它们从不返回OK或CAN

  • 问题内容: 如何在flutter中创建这样的自定义单选按钮组 问题答案: 这是完整的代码 To use :

  • 我不是JavaFX的资深程序员,想请教一下。如何在JavaFX中为按钮制作或设置不同的形状?默认情况下,按钮具有这些圆角矩形形状。我想做一个按钮形状像下面的图片,一个L形按钮。 我已经谷歌了这个话题很多次,但仍然没有找到解决办法。 你能帮助我吗?