[英]Jetpack Compose - inherit hosting app's theme
我正在构建一个 Android SDK ,它在被调用时启动一个活动。 Activity 需要继承与宿主应用程序相同的 Theme,即它的操作栏、按钮、文本需要与宿主应用程序具有相同的 colors。
通过在没有theme
的AndroidManifest.xml
中声明 SDK 的活动,使用传统的 XML 视图可以轻松实现这一点,然后它将继承主机应用程序具有的任何主题。
但在 Jetpack Compose 中似乎不再可能 - 似乎Composable
将始终具有默认的紫色 colors ,即使没有被包裹在MaterialTheme
中。
是否可以获得 Compose 的托管应用程序主题?
It seems the only possible way to do so is to use Resources.resolveAttribute
to get the hosting app's R.attr.colorPrimary
, R.attr.colorSecondary
etc. and manually creates a compose Colors
object for MaterialTheme
是的,这是可能的。
将您的可组合物包装在MdcTheme
中,如下代码片段所示:
setContent {
MdcTheme {
YourComposable()
}
}
这将应用您的旧样式系统。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.