编辑 2
编辑
覆盖 attachBaseContext 方法以更新活动中的上下文
protected override void AttachBaseContext(Context @base)
{
base.AttachBaseContext(@base);
}
结束编辑
在 Android API 25Resources.UpdateConfiguration(Configuration, DisplayMetrics)中已弃用,建议改用它Context context = CreateConfigurationContext(Configuration);。
当前实施
public override Resources Resources
{
get
{
Resources res = base.Resources;
Configuration config = new Configuration();
config.SetToDefaults();
res.UpdateConfiguration(config, res.DisplayMetrics);
return res;
}
}
参考Android context.getResources.updateConfiguration()作为指南已弃用,尝试了以下操作:
public override Resources Resources
{
get
{
Configuration overrideConfiguration = base.Resources.Configuration;
overrideConfiguration.SetToDefaults();
Context context = CreateConfigurationContext(overrideConfiguration);
Resources res = context.Resources;
return res;
}
}
但是,这会产生异常错误..
Android.Views.InflateException: Error inflating class
com.android.internal.widget.DialogTitle
如何正确实施Context context = CreateConfigurationContext(Configuration)?
注意“当前实现”工作得非常好,但鼓励不要使用不推荐使用的代码来替换工作
