Theme.MaterialComponents.DayNight.DarkActionBar
是 Android 中的一个主题,它基于 Material Design 组件库(Material Components for Android)。这个主题支持日夜模式切换,并且在暗色模式下使用深色工具栏(ActionBar)。
在 Theme.MaterialComponents.DayNight.DarkActionBar
主题下,按钮的背景颜色可能不会按预期显示。
确保在布局文件中正确设置了按钮的背景颜色。例如:
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me"
android:backgroundTint="@color/button_background_color"
style="?attr/borderlessButtonStyle" />
在这个例子中,android:backgroundTint
属性用于设置按钮的背景颜色。
如果需要更复杂的样式,可以创建一个自定义样式并应用到按钮上。例如:
<!-- res/values/styles.xml -->
<style name="CustomButtonStyle" parent="Widget.MaterialComponents.Button">
<item name="android:backgroundTint">@color/button_background_color</item>
<item name="backgroundTint">@color/button_background_color</item>
</style>
然后在布局文件中应用这个样式:
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me"
style="@style/CustomButtonStyle" />
确保在 styles.xml
中定义的主题没有覆盖按钮的背景颜色。例如:
<!-- res/values/styles.xml -->
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- 其他属性 -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- 确保没有覆盖按钮背景颜色的属性 -->
</style>
确保项目中已经添加了 Material Components 库的依赖。例如,在 build.gradle
文件中:
dependencies {
implementation 'com.google.android.material:material:1.4.0'
}
通过以上步骤,你应该能够解决在 Theme.MaterialComponents.DayNight.DarkActionBar
主题下按钮背景颜色不工作的问题。
领取专属 10元无门槛券
手把手带您无忧上云