【问题标题】:Application Language Change depending on which button is click应用程序语言更改取决于单击哪个按钮
【发布时间】:2017-03-10 15:45:50
【问题描述】:

我想根据 2 个按钮更改我的应用语言。问题是当我选择按钮语言时,我想重新启动活动动画并更改应用程序语言。语言发生了变化,但动画不起作用,并且某些文本未显示。

 al = (Button)findViewById(R.id.al);
al.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            locale = new Locale("al");
            Locale.setDefault(locale);
            Configuration config = new Configuration();
            config.locale = locale;
            getBaseContext().getResources().updateConfiguration(config,
                    getBaseContext().getResources().getDisplayMetrics());
            LanguageActivity.this.setContentView(R.layout.activity_language);
        }
    });

【问题讨论】:

    标签: android android-studio android-activity android-animation


    【解决方案1】:

    尝试重新创建活动而不是重置内容视图:

    LanguageActivity.this.recreate();
    

    编辑

    按下按钮语言时,我想重新创建相同的活动,并在几秒钟后打开新活动

    要在几秒钟后开始另一个活动,请使用:

    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            // 3 seconds before starting a new activity
            final int millisBeforeStart = 3000;
    
            final Intent intent = new Intent(LanguageActivity.this, SecondActivity.class);
            startActivity(intent);
         }
    }, millisBeforeStart);
    

    【讨论】:

    • 用所选语言重新创建后开始新活动怎么样?
    • 如果您在更改locale 后开始活动,更改将反映在新活动中。
    • 按下按钮语言时,我想重新创建相同的活动,并在几秒钟后打开新活动
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2019-07-16
    • 1970-01-01
    相关资源
    最近更新 更多