2013-01-17 83 views
0

我想添加語言設置到我的應用程序,這是獨立於系統語言。Android - 更改啓動器圖標語言

我可以設法改變任何語言,但發射器圖標仍然是系統語言。

有沒有可能改變那個圖標語言?

倚天

+0

只是好奇,你爲什麼要圖標語言不同於手機語言設置?最終用戶不會不一致嗎? – Ahmed

+0

不,最終用戶將能夠在設置中編輯語言,所以這不會成爲問題。 – metinkale38

+0

不知道這是否符合您的要求,但值得一試:http://stackoverflow.com/q/5551939/867591 – Ahmed

回答

2

比方說,你是支持N語言這個可疑的功能。

您需要在清單中爲啓動器活動提供N條目。這N個條目中的每一個都需要一個android:label指向一個字符串,該字符串表示您的應用程序配置爲「某某語言」時要顯示的內容。然後,您將使用PackageManagersetComponentEnabledSetting()來禁用舊的活動並啓用新的活動。

可以想象,您可以使用一個<activity>元素和N<activity-alias>元素來實現您的目標,但我不確定您是否可以啓用和禁用活動別名。

+0

是的,謝謝你,我想要的。我不會有這麼多的語言,所以它不會那麼棒。我必須在每次開機或一次時調用setcomponentenabled ...嗎? – metinkale38

+0

@ metinkale38:每次語言更改一次。您將選擇其中一項活動 - 其標籤以您的默認語言爲準 - 在開始時啓用。其他人在清單中會有'android:enabled =「false」''。然後,當用戶改變語言時,切換哪一個被啓用,哪個被禁用。但請注意,這可能不會很快生效,因爲歡迎主屏幕緩存此信息,並且您無法做到這一點。 – CommonsWare

+0

似乎沒有一個完美的解決方案。無論如何,我會看看我能做些什麼 – metinkale38