2012-05-25 6 views
1

Je suis dans mon application, une activité est ouverte. J'appuie sur le bouton d'accueil et change de langue, à partir de taskmanager ouvre mon application. Problème: ma disposition de l'activité devient large.Android: paramètres régionaux (langue du système) modifier l'effet de ma mise en page de l'application

changements dans androidmanifest correspondant à cette activité:

Note: Si j'ajouter locale dans le manifeste Android, la mise en page est bonne, mais la langue ne reçoit pas immédiatement mis à jour. L'utilisateur doit fermer cette activité et redémarrer, puis la langue est mise à jour.

Veuillez me fournir vos entrées.

+0

C'est le comportement normal. Lorsque vous démarrez votre application, votre appareil dit "Hey, j'utilise cette locale, alors s'il vous plaît fournissez les bonnes ressources ...". Ensuite, lorsque vous changez de Local alors que votre application est déjà démarrée, il est trop tard car les bonnes ressources ont déjà été chargées. Donc, vous devez recharger. –

+0

Ai-je besoin d'ajouter l'attribut locale aussi dans le manifeste android? – parul

+0

Absolument pas. Par défaut, le local utilisé est celui de votre appareil. –

Répondre

3

Comme mentionné dans le commentaire sur votre question, c'est un comportement normal.

Un changement dans Locale est considéré comme un changement de configuration identique à un changement d'orientation, etc.

Vous devez passer outre onConfigurationChanged dans votre Activity et recharger tout à partir de là. REMARQUE: Vous devrez également spécifier android:configChanges="locale" dans la déclaration Activity du fichier AndroidManifest.

+1

J'ai un problème que j'ai essayé de surcharger onConfigurationChanged mais il n'est pas appelé dans l'activité de fragmentation quand je change les paramètres régionaux – Streetboy

Questions connexes