たくさんの自由帳

Androidアプリ内の言語を変更する

投稿日 : | 0 日前

文字数(だいたい) : 659

AndroidKotlin
Twitterで共有GitHubで開く

期末おわった!

本題

Context#getString()で日本語だったら日本語(日本語のstrings.xmlがあれば)表示できますが、これ英語verがほしいってのが今回のお話です

こうです!

日本語だけどContext#getString()やレイアウトのR.string.app_nameは英語の文字列が欲しいってときは、ActivityServiceにこんな感じに

MainActivity.kt

/**
 * 言語変更機能をつける
 * 端末の設定で日本語でもこのアプリだけ英語で使うみたいな使い方ができます。
 * */
override fun attachBaseContext(newBase: Context?) {
    val configuration = Configuration()
    configuration.setLocale(Locale.ENGLISH)
    super.attachBaseContext(baseContext?.createConfigurationContext(configuration))
}

FragmentはActivityのが使われるそう?

以上です。おつかれ888