2022-12-12 遇到的一点小问题
app里面有个切换语言的功能,根据用户选择的语言来展示对应的string.xml的内容。
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
Configuration config = resources.getConfiguration();
config.setLocale(Locale.FRENCH);
resources.updateConfiguration(config, metrics);
因为Activity里面的内容太多了,而且整个app的Activity就三四个,懒得刷新View。所以是当用户在页面选择其他语言后,重启当前Activity。
Intent intent = getIntent();
finish();
startActivity(intent);
因为Activity的切换都设置的没有动画<item name="android:windowAnimationStyle">@null</item>
,所以切换时页面变化不会很明显。但最近在一个页面上加了这个功能后,出现转场动画。试了网上找的overridePendingTransition(0, 0);
、intent.addFlags( Intent.FLAG_ACTIVITY_NO_ANIMATION );
等方法还是没效果。
最后面想起既然跳转其他页面没动画,干脆先跳到透明Activity再跳回来。
试了下,跳转没问题,且画面页面闪烁。
Intent intent = new Intent(context, TestActivity.class);
startActivity(intent);
finish();
//新Activity的onCreate(Bundle savedInstanceState) 方法执行:
Intent intent = new Intent(context, MainActivity.class);
startActivity(intent);
finish();