Android中的阿拉伯语支持应用程序的UI设计

And*_*era 5 android

我正在尝试为我的Android应用程序提供阿拉伯语支持.Android 2.3默认提供阿拉伯语支持.所以,我想知道在Android中为阿拉伯语提供支持时是否需要进行任何UI更改.
由于阿拉伯语中的字母是从右到左书写的,我需要在Android UI布局设计和编码中遵循哪些约束?
否则Android本身将负责读取我们输入的数据,无论是从右到左键入.

任何人都可以帮我解决这个问题吗?

小智 1

我已经使用了这段代码并且工作完美,尝试一下..

\n\n
public static void change_setting_arabic(Context con) {\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0try {\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Locale locale = new Locale("ar");\n\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Class amnClass = Class.forName("android.app.ActivityManagerNative");\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Object amn = null;\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Configuration config = null;\n\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0// amn = ActivityManagerNative.getDefault();\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Method methodGetDefault = amnClass.getMethod("getDefault");\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0methodGetDefault.setAccessible(true);\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0amn = methodGetDefault.invoke(amnClass);\n\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0// config = amn.getConfiguration();\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Method methodGetConfiguration = amnClass\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0.getMethod("getConfiguration");\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0methodGetConfiguration.setAccessible(true);\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0config = (Configuration) methodGetConfiguration.invoke(amn);\n\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0// config.userSetLocale = true;\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Class configClass = config.getClass();\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Field f = configClass.getField("userSetLocale");\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0f.setBoolean(config, true);\n\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0// set the locale to the new value\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0config.locale = locale;\n\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0// amn.updateConfiguration(config);\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Method methodUpdateConfiguration = amnClass.getMethod(\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0"updateConfiguration", Configuration.class);\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0methodUpdateConfiguration.setAccessible(true);\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0methodUpdateConfiguration.invoke(amn, config);\n\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0} catch (Exception e) {\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0// TODO: handle exception\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0Log.d("error lang change-->", "" + e.getMessage().toString());\n     \xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0}\n     \xc2\xa0 \xc2\xa0}\n
Run Code Online (Sandbox Code Playgroud)\n