studio sobre para herramientas desarrollo crear con avanzado aplicaciones android android-studio android-edittext android-virtual-keyboard

sobre - manual android studio avanzado



Cómo establecer un idioma predeterminado para el teclado virtual de un EditText (1)

LocaleHelper "es la solución que necesita. Solo tiene que inicializar la configuración regional en la clase principal de su aplicación. Después de eso, todos los cambios de idioma persistirán.

En la clase de aplicación realice los siguientes cambios:

public class MainApplication extends Application { @Override public void onCreate() { super.onCreate(); LocaleHelper.onCreate(this, "en"); } }

LocalHelper.java será:

public class LocaleHelper { private static final String SELECTED_LANGUAGE = "Locale.Helper.Selected.Language"; public static void onCreate(Context context) { String lang = getPersistedData(context, Locale.getDefault().getLanguage()); setLocale(context, lang); } public static void onCreate(Context context, String defaultLanguage) { String lang = getPersistedData(context, defaultLanguage); setLocale(context, lang); } public static String getLanguage(Context context) { return getPersistedData(context, Locale.getDefault().getLanguage()); } public static void setLocale(Context context, String language) { persist(context, language); updateResources(context, language); } private static String getPersistedData(Context context, String defaultLanguage) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); return preferences.getString(SELECTED_LANGUAGE, defaultLanguage); } private static void persist(Context context, String language) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = preferences.edit(); editor.putString(SELECTED_LANGUAGE, language); editor.apply(); } private static void updateResources(Context context, String language) { Locale locale = new Locale(language); Locale.setDefault(locale); Resources resources = context.getResources(); Configuration configuration = resources.getConfiguration(); configuration.locale = locale; resources.updateConfiguration(configuration, resources.getDisplayMetrics()); }

}

Para la descripción de los detalles, consulte este enlace.

Espero que te ayude.

Me EditText si podría establecer el idioma predeterminado del teclado virtual de EditText en Android .

Cada vez que me enfoco en EditText , abre el teclado virtual con mi idioma nativo en lugar de inglés.

Supongo que es algo con la configuración del dispositivo, pero si hay una manera de programar eso en el desarrollo de Android que sería genial.