棒棒堂v21,FragmentDialog不采取我的活动主题

我有我的活动主题如下。

 @color/colorPrimary @color/colorPrimaryDark @color/colorPrimary @color/colorPrimary  

该活动有一个简单的FragmentDialog开始使用(Kotlin代码)

  MyDialogFragment().show(supportFragmentManager, MyDialogFragment.TAG) 

MyDialogFragment确实有一个Button。 因此,我期望Button的颜色是按照主题的colorPrimary。 但是按钮的颜色(在v21上)只有灰色)

这适用于棉花糖(即v23)而不是棒棒糖(v21)。 我没有尝试v22。 …所以我想v21不会自动inheritance活动的主题。

对于KitKat及以下,这不适用,因为它不使用’android:colorButtonNormal’

我应该如何让我的FragmentDialog获得我在我的活动上设置的主题?

我find了一个方法来做到这一点,在定义我的活动主题的基础上,明确定义我的FragmentDialog主题如下。

   

然后我需要从我的FragmentDialog onCreate()明确地设置它。

 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setStyle(DialogFragment.STYLE_NO_TITLE, R.style.MyDialogTheme) } 

注意:必须在https://stackoverflow.com/a/26582301/3286489中提到的onCreate

如果有任何问题,我仍然乐意接受更优雅的回答。