Settext android studio для чисел

TextView

Компонент TextView предназначен для отображения текста без возможности редактирования его пользователем, что видно из его названия (Text — текст, view — просмотр).

Находится в разделе Texts.

TextView — один из самых используемых компонентов. С его помощью пользователю удобнее ориентироваться в программе. По сути, это как таблички: Руками не трогать, По газону не ходить, Вход с собаками воспрещен, Часы работы с 9.00 до 18.00 и т.д., и служит для представления пользователю описательного текста.

Для отображения текста в TextView в файле разметки используется атрибут android:text, например:

Такой подход является нежелательным. Рекомендуется всегда использовать текстовые ресурсы. В будущем эта привычка позволит вам обеспечить многоязыковую поддержку:

Программная установка текста

Программно текст можно задать методом setText():

Атрибуты

Для всех вышеперечисленных атрибутов в классе TextView есть соответствующие методы для чтения или задания соответствующих свойств.

Программно установим размеры текста при помощи setTextSize() с различными единицами измерения.

По умолчанию у компонентов TextView отсутствует фоновый цвет. Чтобы задать цвет, укажите значение Drawable для атрибута android:background. В качестве значения Drawable может использоваться изображение или XML-представление фигуры, включающий ресурс Drawable (поместить в папку res/drawable).

Программная установка фона

В некоторых случаях программисты из-за невнимательности неправильно меняют фон элемента программным способом и удивляются, почему ничего не работает.

Предположим, у вас определён в ресурсах зелёный цвет:

Следующий код будет ошибочным:

Нужно так (два варианта):

Реагируем на событие onClick

Если вы хотите, чтобы TextView обрабатывал нажатия (атрибут android:onClick), то не забывайте также использовать в связке атрибут android:clickable=»true». Иначе работать не будет!

Многострочный текст

Если вы хотите создать многострочный текст в TextView, то используйте символы \n для переноса строк.

Например, в ресурсах:

Обратите внимание, что в тексте также применяется простое форматирование.

Также перенос на новую строку можно задать в коде:

Увеличиваем интервалы между строками

Вы можете управлять интервалом между соседними строчками текста через атрибут android:lineSpacingMultiplier, который является множителем. Установите дробное значение меньше единицы, чтобы сократить интервал или больше единицы, чтобы увеличить интервал между строками.

Бой с тенью

Чтобы оживить текст, можно дополнительно задействовать атрибуты для создания эффектов тени: shadowColor, shadowDx, shadowDy и shadowRadius. С их помощью вы можете установить цвет тени и ее смещение. Во время установки значений вы не увидите изменений, необходимо запустить пример в эмуляторе или на устройстве. В следующем примере я создал тень красного цвета со смещением в 2 пикселя по вертикали и горизонтали. Учтите, что для смещения используются единицы px (пиксели), единицы dp не поддерживаются.

Читайте также:  Что такое имитировать аномалию андроид

Программный эквивалент — метод public void setShadowLayer (float radius, float dx, float dy, int color):

Создание ссылок автоматом

У TextView есть ещё два интересных свойства Auto link (атрибут autoLink) и Links clickable (атрибут linksClickable), которые позволяют автоматически создавать ссылки из текста.

Выглядит это следующим образом. Предположим, мы присвоим элементу TextView текст Мой сайт: developer.alexanderklimov.ru и применим к нему указанные свойства.

При этом уже на этапе разработки вы увидите, что строка адреса сайта после слов Мой адрес: стала ссылкой. Если вы запустите приложение и нажмете на ссылку, то откроется браузер с указанным адресом. Вам даже не придется писать дополнительный код. Аналогично, если указать номер телефона (параметр phone), то запустится звонилка.

У ссылки есть интересная особенность — при длительном нажатии на ссылку появляется диалоговое окно, позволяющее скопировать ссылку в буфер обмена.

Атрибут autoLink позволяет комбинировать различные виды ссылок для автоматического распознавания: веб-адрес, email, номер телефона.

Цвет ссылки можно поменять через свойство Text color link (XML-атрибут textColorLink), а программно через метод setTextLinkColor().

Программно можно установить ссылки на текст через класс Linkify:

Кроме константы ALL, можно также использовать Linkify.EMAIL_ADDRESSES, Linkify.MAP_ADDRESSES, Linkify.PHONE_NUMBERS. К сожалению, русские адреса не распознаются. В моём случае индекс был распознан как телефонный номер, а город и улица не стали ссылкой.

В таких случаях придётся самостоятельно добавить ссылки в текстах. Например, определим ссылку в ресурсе:

Присвоим созданный ресурс тексту в TextView и запустим пример. Сам текст будет выглядеть как ссылка, но реагировать не будет. Чтобы исправить данную проблему, добавим код:

Ссылки в тексте выглядят не совсем удобными. Есть отдельная библиотека, которая улучшает функциональность. Описание проблем и ссылка на библиотеку есть в статье A better way to handle links in TextView — Saket Narayan.

Совет: Используйте полупрозрачность с умом

Если вам нужно установить текст полупрозрачным, то не используйте атрибут android:alpha:

Дело в том, что такой подход затрачивает много ресурсов при перерисовке.

Атрибут textColor позволяет установить полупрозрачность без потери производительности:

Выделить текст для копирования

По умолчанию, текст в TextView нельзя выделить для копирования. Но в API 11 появилась такая возможность, которая может пригодиться. Делается либо при помощи XML-атрибута android:textIsSelectable, либо через метод setTextIsSelectable().

Читайте также:  Все для android с правами root

Добавьте в разметку два компонента TextView и одно текстовое поле EditText для вставки скопированного текста. У первой текстовой метки установим возможность выделения текста декларативно.

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

Сделайте долгий тап на тексте в любом TextView. Увидите стандартные ползунки для выбора длины текста. Скопируйте текст, сделайте длинный тап в EditText и вставьте текст.

Источник

Сложение двух чисел в Android Studio на Java (Android приложение)

Статьи из цикла

В статье рассказывается как создать приложения сложения двух чисел в Android Studio для Android.

Приготовления

В статье Установка Android Studio в Windows узнаете, как установить и настроить Android Studio.

Создание проекта

Перейдем вначале к файлу activity_main.xml , который отвечает за разметку внешнего вида приложения:

В Android Studio 4 изменили размещение переключателя дизайна и кода разметки экрана:

Размещение компонентов

По умолчанию в Android Studio в качестве разметки используется контейнер ConstraintLayout . Для новичков он не совсем простой. Поменяем на обычный LinearLayout .

Перейдем в текстовой режим разметки XML файла. Там мы внутри контейнера ConstraintLayout видим элемент TextView с фразой Hello, World! :

И заменим содержимое всего файла на следующий код:

В Android Studio 4 изменили размещение переключателя дизайна и кода разметки экрана:

Перейдем обратно в режим дизайна:

Перетащим текстовое поле:

Включим отображение атрибутов компонентов:

Обратим внимание на то, что поле имеет имя ( id ) editText :

Поменяем начальный текст в поле ввода на какое-нибудь число:

Перетащим еще одно текстовое поле, которое будет иметь имя editText2 :

Также поменяем начальный текст в поле ввода на какое-нибудь число:

Поменяем текст на кнопки, например, на Сложить :

Перетащим поле с текстом для вывода:

Начальный текст поменяем, например, на = :

Начальный размер шрифта в TextView маленький, так что увеличим его. За это отвечает свойство textSize , которое можно найти либо в списке всех атрибутов, либо через поиск:

В текстовом варианте получившаяся разметка будет такой:

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

Соединение компонентов с Java кодом

Перейдите в окно редактирования кода главной активности:

Добавьте в класс три переменных, отвечающих за два текстовых поля ввода и одно текстовое поля вывода:

Видите, что в этих строчках есть красные слова (что означает наличие ошибки). Это от того, что не подключены библиотеки для этих типов данных. Курсор (каретку) щелкните по слову EditText , и нажмите Alt + Enter . И там выберите Import class :

Также сделайте с TextView :

В методе onCreate соедините созданные переменные с теми полями, что объявлены в разметке.

Внимание! Добавлять эти строчки нужно после setContentView:

Читайте также:  Не ставит рингтон андроид

Обратите внимание, что значение id компонентов совпадают с id компонентов из XML файлов. То что названия Java переменных совпадают — это только для удобства:

Теперь надо прописать код обработки клика кнопки, чтобы при её нажатии считывались числа, складывались и сумма выводилась в TextView. Будет рассмотрено два способа.

Первый способ обработки клика кнопки

Добавим в класс активности новый метод, например, с названием clickButton :

И через Alt + Enter убираем красноту:

В метод него добавим код обработки клика кнопки:

Полный код файла MainActivity.java у меня выглядит так:

Обратите внимание на то, что, если вы проект в самом начале назвали по-другому (у меня он называется Add2num ), то первая строчка с package у вас будет другой. И если вы бездумно скопируете строчку package com . example . add2num ; в ваш проект, который называется по-другому, то у вас программа не соберется и не запустится!

Мы почти закончили, но мы нигде не прописали, что метод clickButton должен срабатывать при клике на кнопку. Исправим это.

Перейдем в XML файл разметки, в котором мы уже работали. И в нем в компоненте Button добавим строчку:

Полный код файла activity_main.xml :

Запуск приложения

Если вы используете не физическое устройство, а эмулятор, то всегда рекомендую вначале запустить эмулятор, а потом уже запускать приложение:

Теперь можем запускать наш проект:

Введем какие-нибудь числа и нажмем кнопку:

Второй способ обработки клика кнопки

Теперь реализуем второй способ обработки клика, который я рекомендую использовать вместо первого. А чем плох первый? Мы в XML файле прописали, как называется метод из Java кода, который нужно запускать, то есть смешали код реализации и код разметки между собой. Это не очень хорошо. Попробуем не вносить изменения в XML файл.

Добавим еще одну переменную для связки кнопки из XML файла с Java кодом. Красноту помните, как убирать:

Также пропишите этот код:

А теперь напишем обработчик клика кнопки через OnClickListener . Пропишите такой код:

Внимание! Обратите внимание, что в первом способе код обработки кнопки clickButton мы писали вне метода onCreate , а сейчас пишем внутри метода onCreate :

Пропишем реализацию метода:

Полный код файла MainActivity.java :

Файл Полный код файла MainActivity.java остался без изменений (строчки android:onClick=»clickButton» тут нет):

При запуске мы получим такое же по функциональности приложение, как и при первом способе:

  • Android Studio icon.svg by Google Inc. / (2019-06-07)
  • Android Studio
  • Android
  • Java
  • Сложение двух чисел

В статье рассказывается как создать приложения сложения двух чисел в Android Studio для Android.

В статье рассказывается как создать приложения сложения двух чисел в Android Studio для Android.

Источник

Оцените статью