webview оправдывать не показывать Персия (фарси)/RTL язык правильно

Мне нужно сделать оправдание для веб-просмотра, чтобы показать персидский (фарси)/RTL String.

я использую ниже код:

    String text = "<html><body>"
                      + "<p align=\"justify\">"                
                      + getString(R.string.test1) 
                      + "</p> "
                      + "</body></html>";
            webView.loadData(text, "text/html", "utf-8");

но веб-просмотр не может показать персидский символ - изображение ниже:

что мне делать?

2 ответа

Решение

Хорошо, наконец я нашел хороший способ сделать оправдание + используя "\n" + все остальные настройки для String.

  1. я делаю HTML-файл, содержащий настраиваемую строку
  2. Загрузить данные в WebView следующим образом:

    webView.loadUrl("file:///android_asset/string.htm");
    

Редактировать:

webView.loadDataWithBaseURL (null, yourString, "text / html", "utf-8", null);

Для загрузки данных используйте

webView.loadData(text, "text/html; charset=UTF-8", "utf-8"); 

По умолчанию это не поддерживает RTL. Чтобы исправить это, я использую тег HTML:

String headerText = "<html><body dir=\"rtl\"; style=\"text-align:justify;background-color:#fff3eb;\">";

И в конец строки добавить:

String footerText = "</body></html>";
Другие вопросы по тегам