Текст кнопки Android и верхний и нижний индексы HTML

#java #android #html #xml

#java #Android #HTML #xml

Вопрос:

Я пытаюсь вставить текст верхнего и нижнего индексов в текст кнопки Android. Я попытался, указав следующее в strings.xml файл

 <string name="NAME"><![CDATA[<sup><small>-1</small></sup>]]></string>
  

И в MainActivity.java файл,

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }

    Button NAME = (Button) findViewById(R.id.button10);
    NAME.setText(Html.fromHtml(getResources().getString(R.string.NAME)));
}
  

Но я не могу добиться успеха.

Запрос:

  • Есть ли какой-либо способ указать это в «strings.xml » сам файл без использования setText в коде ?

Комментарии:

1. используйте R.string. ИМЯ вместо R.string. iHyperbolic

2. ваш вызов R.string. iHyperbolic пожалуйста, очистите имя строки

Ответ №1:

Проблема: вы получаете неправильное значение.

Решение: использовать R.string.NAME вместо R.string.iHyperbolic

ваш NAME содержит строку html, а не iHyperbolic .

Есть ли какой-либо способ указать это в «strings.xml » сам файл без использования setText в коде ?

AFAIK, вам придется использовать setText() для установки строки html после ее обработки классом Html. Класс Cause Html обрабатывает строки HTML в отображаемый текст в стиле.И если вы хотите отобразить этот текст в стиле Html в виджете, вам придется использовать setText() .

Ответ №2:

Вместо того, чтобы писать:

 <sup><small>-1</small></sup>
  

попробуйте написать:

 <sup>-1</sup>
  

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

Комментарии:

1. не могли бы вы рассказать, какая разница, что бы сделать? Причина AFAIK, <small> применит мелкий шрифт к надстрочному или нижнему индексу.

2. @RiteshGune, это может иметь значение, потому sup что может применить уменьшение размера шрифта к его содержимому, и если оно уже уменьшено из-за small , вы получите двойное уменьшение.

3. @JukkaK. Корпела, я не видел, чтобы <sup> уменьшал размер шрифта сам по себе, насколько это касается его использования в Android. Он просто позиционирует текст. Я был бы рад просмотреть любой документ, подтверждающий ваше утверждение, если бы вы могли предоставить 🙂

4. Я изменил его как только с тегом «sup». Но когда я запускаю приложение, оно завершается с сообщениями об ошибках «К сожалению, мое приложение закрыто».

5. @RiteshGune, извините, мой комментарий был слишком поспешным. Думал в терминах HTML.