Обоснуйте текст в текстовом представлении

У меня есть строка ресурсов, которую я хочу обосновать, чтобы она выглядела хорошо и легко читалась. Но, к сожалению, Android не поддерживает оправдание сразу. Чтобы сделать некоторые обоснования, я делаю некоторые исследования и нашел способ использовать Html.fromHtml для выравнивания текста.

Но, к сожалению, я не знаю, как его использовать. Для меня оправдание не работает, я устанавливаю это следующим образом

myTextView.setText(Html.fromHtml("<h2 align=right>Android</h2><br><p \"align=justify\">Sdasndakdnsakdnsakdnsandkasndasda adabdkjasbdkasj sadaskjdnksajdn asdnsadknas" +
                    "asjkdbaskdja asodnsakjdnas asdjasndsad alsdnasldnasl ansd dj jasdoa nqowdjnl hjd l  dpajpa ajop p adpjasiojdiosjaodj a sjdas nd op apjpdja apjdoajpj aldoapjdap pajdpajdpajpd " +
                    "asdasidnsalkdnsalkdaskldsalkdnlksadm" +
                    "asdksandlksadnlsakmdlskadksald" +
                    "asdnkasndlksandlksamdlsakdna" +
                    "asdlkasndlkasndksnakldnsa" +
                    "asdansldknsalkdnsalkdn</p>"));

Я просто положил демонстрационный текст. Независимо от того, что я добавляю в тег, он всегда идет с левым выравниванием.

Прямо сейчас вы можете видеть, что я использовал align=justify

Поэтому, пожалуйста, помогите мне. Как можно оправдать мой текст.

Примечание. Я не хочу выравнивать текст по центру. Я просто хочу использовать обоснование

2 ответа

Используйте код ниже:

myTextView.setText(Html.fromHtml("<![CDATA[<h2 align=right>Android</h2><br><p align=justify>Sdasndakdnsakdnsakdnsandkasndasda adabdkjasbdkasj sadaskjdnksajdn asdnsadknas" +
                "asjkdbaskdja asodnsakjdnas asdjasndsad alsdnasldnasl ansd dj jasdoa nqowdjnl hjd l  dpajpa ajop p adpjasiojdiosjaodj a sjdas nd op apjpdja apjdoajpj aldoapjdap pajdpajdpajpd " + 
                "asdasidnsalkdnsalkdaskldsalkdnlksadm" + 
                "asdksandlksadnlsakmdlskadksald" + 
                "asdnkasndlksandlksamdlsakdna" + 
                "asdlkasndlkasndksnakldnsa" + 
                "asdansldknsalkdnsalkdn</p>]]>")); 

В основном вам нужно поместить свой текст в CDATA, как указано выше, чтобы он был отформатирован как HTML

Вы можете сделать это, не прибегая к HTML с помощью android:gravity в TextView,

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:text="Your text" />
</LinearLayout>

Доступные варианты гравитации показаны в документации здесь

Другие вопросы по тегам