Intereting Posts
Сколько основных Java-API присутствует в Android API Ограничить использование API автозаполнения для городов определенного типа android Установите разрешение на получение идентификатора электронной почты пользователя из Facebook. Разница между Kivy и Java для приложений для Android Android, как показать уведомление на экране PopBackStack, но сохраните первый фрагмент в android Android Web Development … Ширина Div (скорее всего, внутренний текст) изменяется в пикселях на основе масштабирования устройства Как подавить предупреждения при компиляции андроидной библиотеки с градиентом? Динамическое изменение фона LinearLayout Не удалось запустить './qemu/windows-x86_64/qemu-system-i386.exe': нет такого файла или каталога Как избежать обратного проектирования файла APK? API Java REST для Android Как включить / отключить 3G / 2G в Android SDK Как setOnclickListener () на кнопке внутри ListView? Listview: Как оставаться выделенным / выбранным после нажатия кнопки «Назад»?

Несколько текстовых строк на кнопке. Каждая строка имеет разные стили текста

Привет, я пытаюсь создать кнопку с несколькими строками текста. Пример ниже. Каждая строка текста имеет другой размер текста и цвет, применяемые к нему. Кнопка также должна быть в состоянии отправить пользователя на следующую страницу. Возможно ли это в XML? Я везде искал и не могу найти решение. Благодарю.

КНОПКА ЗАГОЛОВОК ТЕКСТА (большой зеленый шрифт) Текст первой кнопки (маленький серый шрифт) Текст из 2-х кнопок (маленький белый шрифт)

См. Пример:

Введите описание изображения здесь

Solutions Collecting From Web of "Несколько текстовых строк на кнопке. Каждая строка имеет разные стили текста"

Изображение недоступно. Но в соответствии с вашей проблемой вы можете реализовать LinearLayout в качестве основного компонента и установить его свойство clickable и focusable, а также установить его фон для android.R.drawable.btn_default. Установите ориентацию этого макета на Vetic.

Добавьте столько текстовых элементов любого стиля в этот linearlayout в xml или динамически, сколько хотите. Но установите для всех объектов TextViews focusable и Clickable значение false.

Html.fromHtml (строка) может интерпретировать некоторые теги hmtl, и поэтому вы можете использовать html для стилизации текста ваших кнопок.

Предполагая, что вы определили свои кнопки в XML-файле, вы можете установить текст таких кнопок в коде Java.

 Button button = (Button) findViewById(R.id.button1); String styledText = "<big> <font color='#008000'>" + "My orders" + "</font> </big>" + "<br />" + "<small>" + "You have no current orders" + "</small>"; button.setText(Html.fromHtml(styledText)); // Attach a listener to the button that will make something // happen when the button is clicked button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // Put your Intent code here Log.d("onclick", "Button click registered"); } }); 

Вы можете складывать теги <big> и <small> HTML, чтобы умножить их эффект:

 private final String btnInnerHTML = "<big><big><big><font color='#000000'><b>%s</b></font></big></big></big><br/><small>%s</small>"; btn0.setText(Html.fromHtml(String.format(btnInnerHTML, "Line1", "Line2")));