In-app Language Switches
Support version: v6.3.1
Example
class InAppLanguageActivity : FragmentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_in_app_language)
}
override fun attachBaseContext(newBase: Context) {
super.attachBaseContext(LanguageHelper.changeLanguage(newBase))
}
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
val inflater = menuInflater
inflater.inflate(R.menu.in_app_toolbar, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.menu_en -> {
LanguagePreference.setLocalePreference(this, getString(R.string.in_app_language_en))
this.recreate()
true
}
R.id.menu_ja -> {
LanguagePreference.setLocalePreference(this, getString(R.string.in_app_language_ja))
this.recreate()
true
}
R.id.menu_ar -> {
LanguagePreference.setLocalePreference(this, getString(R.string.in_app_language_ar))
this.recreate()
true
}
else -> {
super.onOptionsItemSelected(item)
}
}
}
}
Last updated
Was this helpful?