DialogFragment 没有使用我想要的主题

DialogFragment is not using my desired theme

当使用不同的 Android 版本时,Android 中的主题和样式出现问题。

所以主要问题是我在应用程序中的某个时刻弹出了一个 DialogFragment,它包含一个 EditText。 AlertDialog 是这样创建的:

AlertDialog dialog =  new AlertDialog.Builder(getActivity())
            .setPositiveButton ... 

然后像这样创建和添加 EditText:

editor = new EditText(getActivity());
dialog.setView(editor);

在我的 Lollipop 设备上,EditText 有一条带有我想要的颜色的底线。 (下面列表中的 c1)。

但是在我的 Android 4.3 设备上,它有标准的难看的蓝色底线。

我的应用程序有一个应用程序主题,它定义了(除其他外)这些项目:

    <item name="colorPrimary">@color/c1</item>
    <item name="colorPrimaryDark">@color/c2</item>
    <item name="colorAccent">@color/c3</item>

    <item name="colorControlNormal">@color/c1</item>
    <item name="colorControlActivated">@color/c2</item>
    <item name="colorControlHighlight">@color/c3</item>

对话框片段是从 activity 继承此应用主题开始的,我总是使用常规的 getActivity() 作为上下文。

所以有没有人遇到过这种情况?我认为它应该自动使用正确的颜色(通过 colorControlNormal、colorControlActivated 和 colorControlHighlight)但是它们被忽略了。

我正在使用 appcompat 22.2.0 顺便说一句。

感谢您对此的任何意见!

我使用 android.support.v7.widget.AppCompatEditText 而不是常规的 Edittext 解决了这个问题。它现在使用正确的 Material 设计风格。