Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UI design for Arabic Support apps in Android

Tags:

android

I am trying to provide Arabic Language support for my Android app. Arabic Language support is provided by default by Android 2.3. So, I want to know if there are any UI changes that I need to do while providing support for Arabic language in Android.
As the letters in Arabic were written from right to left, what are the constraints that I need to follow in Android UI layout design and also in coding?
Or else otherwise will Android itself take care of reading the data we entered, whether it is typed from right to left.

Can anyone help me in sorting out this issue?

like image 870
Android_programmer_camera Avatar asked Nov 15 '22 03:11

Android_programmer_camera


1 Answers

I have use this code and working perfect try it..

public static void change_setting_arabic(Context con) {
            try {
                Locale locale = new Locale("ar");

                Class amnClass = Class.forName("android.app.ActivityManagerNative");
                Object amn = null;
                Configuration config = null;

                // amn = ActivityManagerNative.getDefault();
                Method methodGetDefault = amnClass.getMethod("getDefault");
                methodGetDefault.setAccessible(true);
                amn = methodGetDefault.invoke(amnClass);

                // config = amn.getConfiguration();
                Method methodGetConfiguration = amnClass
                        .getMethod("getConfiguration");
                methodGetConfiguration.setAccessible(true);
                config = (Configuration) methodGetConfiguration.invoke(amn);

                // config.userSetLocale = true;
                Class configClass = config.getClass();
                Field f = configClass.getField("userSetLocale");
                f.setBoolean(config, true);

                // set the locale to the new value
                config.locale = locale;

                // amn.updateConfiguration(config);
                Method methodUpdateConfiguration = amnClass.getMethod(
                        "updateConfiguration", Configuration.class);
                methodUpdateConfiguration.setAccessible(true);
                methodUpdateConfiguration.invoke(amn, config);

            } catch (Exception e) {
                // TODO: handle exception
                Log.d("error lang change-->", "" + e.getMessage().toString());
            }
        }
like image 60
KeTaN Avatar answered Dec 09 '22 19:12

KeTaN