Indeed it seems that AlertDialog theme needs to be defined. An alternative approach to above would be to define AlertDialog theme in Application theme:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- ... other AppTheme items ... -->
<item name="android:alertDialogTheme">@style/AlertDialogTheme</item>
</style>
<style name="AlertDialogTheme" 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>
Then it is enough create AlertDialog.Builder
only with Context
parameter.
Note: The above seems to work only for android.app.AlertDialog.Builder
and is not working for AppCompat builder (android.support.v7.app.AlertDialog.Builder
, at least as of version 25.0.1). In case of AppCompat builder, I had to pass theme ID as second parameter to Builder constructor to have buttons visible.