我正在使用自定义布局创建一个对话框,但布局colorAccent
完全被忽略,并被默认的蓝绿色替换。我根据this answer更改了我的主题。但仍然没有工作。我可以在创建对话框时通过其构造函数添加主题,但我只想按主题进行操作,因此它会影响我的应用程序中的每个对话框。任何帮助表示感谢,这是我的主题。
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
<item name="android:alertDialogTheme">@style/Theme.Dialog</item>
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="Theme.Dialog" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
答案 0 :(得分:2)
以下是示例代码
<style name="DialogStyle" parent="Theme.AppCompat.Light.Dialog">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="colorAccent">@color/colorPrimaryDark</item>
</style>
在活动中启动diaolog时定义样式。
Dialog dialog = new Dialog(mContext, R.style.DialogStyle);