棒棒堂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
如果有任何问题,我仍然乐意接受更优雅的回答。