KKMonitor

主题化

在 Android 和 iOS 上使用自定义颜色、文本大小和间距重新设计内置错误报告屏幕。

内置错误报告 UI 具有默认外观,在 Android 和 iOS 上,您可以重新设计其样式以匹配您的应用。覆盖其颜色、文本大小和间距,使报告屏幕感觉就像产品的其他部分一样。

屏幕使用的是Theme.MsrBugReport主题,其颜色来自命名的颜色资源。 Android 按名称解析资源并让您的应用覆盖它们。所以重新定义msr_background, msr_text_primary,或您自己的任何其他人colors.xml重新设计错误报告屏幕。

Measure 提供单独的浅色和深色,因此请在res/values/colors.xml和那些黑暗的人res/values-night/colors.xml:

<!-- res/values/colors.xml (light) -->
<color name="msr_background">#FFFFFF</color>
<color name="msr_text_primary">#101010</color>

<!-- res/values-night/colors.xml (dark) -->
<color name="msr_background">#101010</color>
<color name="msr_text_primary">#FFFFFF</color>

文本大小、圆角半径和其他标记都存在于主题本身中。看主题.xml全套,以及 Android 的主题指南了解重写的工作原理。

通过一个BugReportConfiglaunchBugReport。从默认值开始,覆盖您想要的颜色update,并调整间距MsrDimensions:

let colors = BugReportConfig.default.colors.update(
    darkBackground: UIColor(white: 0.1, alpha: 1),
    darkText: .white,
    badgeColor: .systemOrange,
    isDarkMode: true
)
let config = BugReportConfig(colors: colors, dimensions: MsrDimensions(topPadding: 24))
Measure.launchBugReport(takeScreenshot: true, bugReportConfig: config)

isDarkMode以符合用户的喜好。BugReportConfig还携带textfonts,这样您就可以本地化标签并交换同一对象的字体。看错误报告配置对于您可以设置的每个令牌。