Подтвердить что ты не робот

Тяжесть TextView не работает с ивритом

У меня есть TextView на иврите, что я хочу быть на правой стороне, так что я делаю

<TextView....
    android:gravity="right"
</TextView>

На некоторых телефонах он будет выровнен по правому краю, а на некоторых он будет выровнен влево. Я думаю, это зависит от конфигурации телефона. Как я могу это исправить??

Спасибо.

4b9b3361

Ответ 1

Это может быть проблемой. Если на странице не сообщается об этом, сообщите об этом.

Теперь вы можете попробовать исправить его, разместив TextView внутри ViewGroup. Используйте wrap_content и layout_gravity, чтобы правильно разместить его внутри родителя.

Ответ 2

В настоящее время Android не поддерживает текст BiDi. Некоторые производители взломали его, но пока это стандартная часть платформы, вы можете ожидать, что любое использование текста BiDi приведет к непоследовательному, сломанному поведению. К сожалению.

Ответ 3

Android: Gravity может работать неправильно, если android:layout_height или android:layout_weight установлен на wrap_content.

Ответ 4

Я нашел решение. Если ваш текст находится на иврите, вам не нужно устанавливать гравитацию, потому что он будет выровнен без него. Я пришел к этому, увидев латинские символы в моих взглядах, которые были справа. Хотя в редакторе макетов SDK все еще есть ошибка.

Протестировано на LG GT540 и Samsung Galaxy S

Ответ 5

если вы хотите, чтобы текст был выровнен вправо, попробуйте использовать это:

textView.setText("\u200F"+content);

Ответ 6

Это происходит потому, что старые версии для Android не слишком хорошо поддерживают rtl. Для меня то, что работало в конечном итоге, было веб-просмотром. Потому что тогда я просто использовал CSS для разработки своего текста. Вам также понадобится onTouchListener, если вы хотите что-то сделать при нажатии

измените свой TextView на Webview:

<WebView
        android:id="@+id/noticetit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

Мой код:

WebView webView = (WebView) findViewById(R.id.noticetit);
private void setWebView() {
            String htmlcss = "<html lang=\"he\"><head><meta charset=\"utf-8\" />"
                    + "<style type=\"text/css\">.rtl {direction: rtl;color:black;font:20px arial;}</style></head>"
                    + "<body class=\"rtl\"><div class=\"rtl\">" + webView
                    + "</div></body></html>";

            webView.loadDataWithBaseURL(null, htmlcss, "text/html", "utf-8", null);
            webView.setOnTouchListener(new OnTouchListener() {
                // Removed @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if (v.getId() == R.id.maintitle
                            && event.getAction() == MotionEvent.ACTION_DOWN) {
                        //Put your code here
                    }
                    return false;
                }
            });
        }

Надеюсь, это поможет вам!

Ответ 7

Я думаю, что это то, что вы ищете:

android:layout_gravity="right"