Android studio свойства textview

Содержание
  1. TextView
  2. Программная установка текста
  3. Атрибуты
  4. Программная установка фона
  5. Реагируем на событие onClick
  6. Многострочный текст
  7. Увеличиваем интервалы между строками
  8. Бой с тенью
  9. Создание ссылок автоматом
  10. Совет: Используйте полупрозрачность с умом
  11. Выделить текст для копирования
  12. Android Lesson 16. TextView
  13. Изменение шрифта.
  14. Межстрочный интервал и цвет фона.
  15. Android studio свойства textview
  16. Задание текста программном коде
  17. Задание текста непосредственно в XML файле
  18. Задание текста в строковых ресурсах
  19. Вот еще одна возможность
  20. Выполнение лабораторной работы
  21. Урок 5. TextView. Часть вторая. Аттрибуты
  22. Аттрибуты TextView
  23. android:enabled
  24. android:textAppearance
  25. android:textColor
  26. android:textSize
  27. android:typeface
  28. android:textStyle
  29. android:textColorHighlight и android:textIsSelectable
  30. android:textColorHint + android:hint
  31. android:textColorLink
  32. android:ellipsize + android:singleLine
  33. android:gravity
  34. android:autoLink + android:linksClickable
  35. android:maxWidth, android:maxHeight и их min версии
  36. android:bufferType
  37. android:text
  38. android:textScaleX
  39. android:lines, android:lines, android:minLines

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().

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

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

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

Источник

Android Lesson 16. TextView

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

Основное свойство android:text. С помощью него можно указать отображаемый текст. Также это можно сделать и программно, методом setText().

Если вы в своем приложении используете текст. то для упрощения локализации в дальнейшем лучше использовать строковые ресурсы. Создайте в файле strings.xml строку с именем perfect_day.

Теперь к этому ресурсу можно обратиться из кода следующим образом:

Свойства textSize и textColor задают соответственно размер и цвет шрифта. А с помощью свойства textStyle можно сделать шрифт, например, жирным:

На панели выбора компонентов вы можете заметить четыре варианта TextViewPlain TextView, Small Text, Medium Text и Large Text. Отличие как раз и состоит в размере шрифта.

Изменение шрифта.

Допустим, вы хотите изменить шрифт для начертания символов на какой-то другой. Для этого можно использовать метод setTypeface():

Файл со шрифтом я поместил в директорию assets в дочернюю директорию fonts, которую я предварительно создал.

Межстрочный интервал и цвет фона.

Для изменение межстрочного интервала у TextView есть свойство:

Для изменения цвета фона воспользуемся свойством backgroundColor:

Источник

Android studio свойства textview

Текстовые поля в Android представлены двумя классами:

  • TextView;
  • EditText.

Виджет Textview предназначен для отображения текста без возможности редактирования его пользователем. Виджет поддерживает многострочное отображение, форматирование и автоматический перенос слов и символов.

Если необходимо редактирование текста, используется виджет EditText.

Классы Textview и EditText имеют множество атрибутов и методов, наследуемых от класса View, который рассмотрим позже.

Иерархия классов текстовых полей представлена ниже:

У элемента Textview есть многочисленные методы и ХМL-атрибуты для работы с текстом.

Вот основные ХМL-атрибуты, отображающие свойства элемента TextView:

1. Для задания текста в файле разметки используется атрибут

android:text

android:text=»УЦКО «Турбо»!»

2. Размер текста

android:textsize

При установке размера текста используются несколько единиц измерения:

  • px (pixels) — пикселы;
  • dp (density-independent pixels)— независимые от плотности пикселы. Это абстрактная единица измерения, основанная на физической плотности экрана;
  • sp (scale-independent pixels)— независимые от масштабирования пикселы;
  • in (inches) — дюймы, базируются на физических размерах экрана;
  • pt (points) — 1/72 дюйма, базируются на физических размерах экрана;
  • mm (millimeters) — миллиметры, также базируются на физических размерах экрана.
Читайте также:  Навител для андроид пробный период

Обычно при установке размера текста используются единицы измерения sp, которые наиболее корректно отображают шрифты, например:

android:textSize=»48sp»;

android:textstyie

  • normal;
  • bold;
  • italic.

Пример установки стиля через атрибуты:

android:textStyle=»bold»;

android:textcolor

Используются четыре формата в шестнадцатеричной кодировке:

  • #RGB; (сокращенная запись)
  • #ARGB;
  • #RRGGBB;
  • #AARRGGBB; (полная запись)

где R, G, B— соответствующий цвет, А— прозрачность (alpha-channel). Значение А, установленное в 0, означает прозрачность 100%. Значение по умолчанию, без указания значения alpha, — непрозрачно.

Например, #f00 или #F00 – это сокращенная запись (между строчными и прописными разницы нет), ff или FF – соответствует десятичному значению 255, поэтому запись #000000ff в соответствии с форматом #AARRGGBB трактуется так:

что соответствует записи в более привычном формате для многих языков программирования: ARGB(0,0,0,255) — работает синяя пушка.

А вот пример определения цвета в XML файле.

Задать текст для Textview можно в трех местах:

  • в программном коде
  • непосредственно в XML файле
  • в строковых ресурсах – рекомендуемый способ

Задание текста программном коде

В файле разметки должен быть размещен элемент TextView, например, с далее в программном коде текст задается методом setText():

Задание текста непосредственно в XML файле

Тест сразу отображается в файле разметки. Пример:

wrap_content — элемент имеет размер по своему содержимому

Задание текста в строковых ресурсах

В файле ресурсов strings.xml задаем текст, например, «Hello, Android!» и имя этому ресурсу name=»hello_android”. Вот пример:

Файл strings.xml

Далее, в файле разметки activity_main.xml, указываем ссылку на строковый ресурс

Файл activity_main.xml

Вот еще одна возможность

Если текст задан в строковых ресурсах, но не задан в файле разметки, то его можно задать коде программы используя метод setText(), который устанавливает текст, через ссылку на идентификатор ресурса, определенного в файле R.java (автоматически сгенерированным средой разработки), например:

Выполнение лабораторной работы

Создайте приложение MyTextView по образцу:

Удалите строковый ресурс “hello_world”, созданный по умолчанию

Требуемый текст задайте в следующих местах:

УЦКО «Турбо»! — в файле разметки

Лабораторная работа № 2 — в строковых ресурсах

Copyright (C) 2013 Turbo – в коде программы

Стиль, размер, цвет текста задается в файле разметки при описании виджета Textview, например:

Источник

Урок 5. TextView. Часть вторая. Аттрибуты

Продолжаем с TextView. Да, материал я хотел опубликовать еще вчера, но не опубликовал.

В прошлый раз мы указали текст нашему View, притом сделали это разными способами. В этот раз предлагаю разобрать все остальные xml аттрибуты TextView, а так же рассмотреть их реализацию в коде.

Дополнительно можете ознакомиться с официальной документацией от Google вот тут.

Аттрибуты TextView

Сразу предупреждаю, что тут будут не буквально ВСЕ доступные аттрибуты для TextView, а только его собственные (а так же доступные его дочерним классам). А общие аттрибуты для всех View рассмотрю уже позже (сюда же отнесу и их размеры, положение относительно других элементов и т.д.).

Почему нам может быть интересен именно TextView? Ну, логичнее было бы начать таки с их общего родителя View, но и Text куда интереснее чем вы можете подумать. В Android он является родителем Button (кнопка) и EditText (поле ввода), а значит, что все указанные тут аттрибуты будут применимы к ним. Это справедливо для любого наследующего TextView класса.

android:enabled

Может иметь значения true или false. Влияет на активность виджета.

Неактивный view будет визуально отличаться от активного, а так же его нельзя будет взять в фокус или кликнуть на него.

При этом мы все так же можем изменить содержимое даже для неактивного TextView (setText в исходном коде).

android:textAppearance

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

К примеру. В файле styles.xml добавляем такой код:

Тут я взял красный цвет из ресурсов андроида (но лучше использовать свои, так как некоторые ресурсы в модифицированных системах могут просто-напросто отсутствовать). А так же изменил размер текста.

И указываю свой стиль данному аттрибуту. Результат должен быть отрисован сразу.

И добавил кнопку для наглядности. Текст аналогичен.

android:textColor

Был в примере выше. Принимает ресурс цвета. Это может быть как отдельный xml ресурс, так и color вроде тех, что в файле colors.xml, а так же можно указать непосредственно сам цвет в виде: « #rgb «, « #argb «, « #rrggbb «, или « #aarrggbb «. Используется схема альфа(прозрачность) — красный — зеленый — синий.

Читайте также:  Slynet iptv для андроид

android:textSize

Так же был показан выше. Отвечает за размер текста в конкретном TextView. Размер указываем в величине sp. Описание взял из ответа на стаке:

Scale-independent Pixel — пиксель, не зависящий от масштабирования — зависит от плотности экрана, но результат будет масштабироваться в соответствии с настройками размера шрифта пользователя. Рекомендуется для задания размеров шрифтов, чтобы текст подстраивался как под плотность экрана, так и под настройки, заданные пользователем.

android:typeface

Меняет используемый шрифт у TextView. Может иметь такие значения: normal, sans, serif, monospace. Где стандартный это нормальный, а остальные немного отличаются визуально. Свои шрифты можно указать при помощи другого тега или в исходном коде.

monospace

android:textStyle

На деле действует подобно android:textAppearance, но, в отличие от него может действовать не только на текст, а и на остальные аттрибуты.

android:textColorHighlight и android:textIsSelectable

android:textColorHighlight позволяет изменить цвет выделяемого текста, а android:textIsSelectable со значением true позволяет выделять обычный текст в TextView (чего изначально делать нельзя).

Код такой

Результат уже запущенного приложения:

android:textColorHint + android:hint

Цвет подсказки и сама подсказка соответственно. Цвет, как обычно, ресурс или HEX, а hint — это текст или ресурс строка.

Подсказка будет отображаться тогда, когда у нас не выведен никакой текст. Если вы не меняли цвет, то она будет светло-серого цвета.

Вообще это имеет большую пользу для полей ввода (EditText). Вы точно с такими сталкивались и не раз.

Текст может содержать ссылки. Они имеют свой особый цвет, а мы его можем изменить. Цвет, как и обычно: ресурс или HEX.

android:ellipsize + android:singleLine

Английские названия говорят за себя. Многоточие и одна линия. Последнее принимает логические значения true или false. Это и определяет, будет ли у нашего TextView одна строка или много.

Многоточие может иметь значения: end, marquee, middle, none, start. Очевидно, что изначально никакого многоточия нет, так что дефолтное это none. marquee нужно для создания автоматической прокрутки длинного текста, немного позже я покажу как, но нужны еще теги. А end, middle, start соответствуем названиям и выводит многоточие в конце, середине или начале строки.

А середину мы выбросили…

android:gravity

Определяет положение текста внутри TextView. В примере я развернул свой TextView на весь экран и указал своё положение текста.

Тег android:autoLink может иметь значения none, all, map, phone, email, web. В зависимости от указанных параметров в тексте могут быть автоматически созданы ссылки вместо обычного текста. Это может быть номер телефона, электронная почта, карта или даже веб-ссылка. И при нажатии на которую будет выполнено соответствующее действие (номер телефона — откроет клавиатуру для вызова, а почта — ваш почтовый клиент).

А android:linksClickable, который может быть true или false, определяет, можно ли будет нажать на эти ссылки.

android:maxWidth, android:maxHeight и их min версии

Понятно, что этими тегами можно указать максимально и минимально допустимые значения высоты и ширины в пикселях (вернее dp (density-independent pixels)) для TextView.

Хоть и ширина указана по контенту, но есть ограничение по максимальной ширине

android:bufferType

Определяет тип возвращаемого значения для функции getText(). По умолчанию имеет значение normal. Так же есть вариант spannable и editable. Возвращают соответственно Spannable и Editable + Spannable, тогда как тип normal зависит от типа заданного текста.

android:text

Уже знакомый нам тег, с его помощью мы указываем текст нашему TextView.

android:textScaleX

Позволяет указать множитель ширины текста. Принимает значения с плавающей запятой.

android:lines, android:lines, android:minLines

Позволяют управлять количеством отображаемых строк в TextView. lines указывает фиксированное число линий, остальные создают ограничения. Указывать целые числа.

Тут будем краток и покажу все, что нужно одним примером. Думаю все и без лишних слов)

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

Источник

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