在对话框中忽略Android colorAccent

时间:2017-02-06 09:12:34

标签: android android-dialog

我正在使用自定义布局创建一个对话框,但布局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>

我的对话框看起来像这个图像 Edittext光标忽略了我的colorAccent。

1 个答案:

答案 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);