片段中的 getDelegate() 方法?
getDelegate() method inside a fragment?
我想在 android 片段中开启夜间模式。
代码在 activity getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
中运行良好
但是我们不能在片段中使用相同的代码
这个问题的解决方法是什么?
是否有任何其他方法可以在片段中打开夜间模式?
代码:((AppCompatActivity)getActivity()).getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
以上代码刷新片段和片段以及父片段activity
((AppCompatActivity)getActivity()).getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
您也可以像这样使用 kotlin 在片段中启动它:
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
....
(activity as AppCompatActivity?)!!.delegate.localNightMode = AppCompatDelegate.MODE_NIGHT_NO
.....
}
通常您将值存储在共享首选项中,然后从 ui 事件
切换模式
我想在 android 片段中开启夜间模式。
代码在 activity getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
但是我们不能在片段中使用相同的代码
这个问题的解决方法是什么?
是否有任何其他方法可以在片段中打开夜间模式?
代码:((AppCompatActivity)getActivity()).getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
以上代码刷新片段和片段以及父片段activity
((AppCompatActivity)getActivity()).getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
您也可以像这样使用 kotlin 在片段中启动它:
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
....
(activity as AppCompatActivity?)!!.delegate.localNightMode = AppCompatDelegate.MODE_NIGHT_NO
.....
}
通常您将值存储在共享首选项中,然后从 ui 事件
切换模式