Можно ли нарисовать границу вокруг текстового представления?
android
android-layout
textview
yamspog
источник
источник
Ответы:
Вы можете установить форму для рисования (прямоугольник) в качестве фона для вида.
И прямоугольник drawable back.xml (положить в папку res / drawable):
Вы можете использовать
@android:color/transparent
для сплошного цвета, чтобы иметь прозрачный фон. Вы также можете использовать отступы, чтобы отделить текст от границы. Для получения дополнительной информации см .: http://developer.android.com/guide/topics/resources/drawable-resource.htmlисточник
Позвольте мне обобщить несколько различных (непрограммных) методов.
Использование формы для рисования
Сохраните следующее в виде XML-файла в папке для рисования (например, my_border.xml):
Затем просто установите его в качестве фона для вашего TextView:
Дополнительная помощь:
Использование 9-патча
9-патч растягивается фоновое изображение. Если вы создадите изображение с рамкой, тогда оно даст вашему TextView рамку. Все, что вам нужно сделать, это сделать изображение, а затем установить его в качестве фона в вашем TextView.
Вот несколько ссылок, которые покажут, как сделать изображение из 9 патчей:
Что если я просто хочу верхнюю границу?
Использование списка слоев
Вы можете использовать список слоев, чтобы сложить два прямоугольника друг на друга. Сделав второй прямоугольник чуть меньше первого, вы можете создать эффект границы. Первый (нижний) прямоугольник - это цвет границы, а второй прямоугольник - это цвет фона.
Установка
android:top="2dp"
смещает верх (делает его меньше) на 2dp. Это позволяет первому (нижнему) прямоугольнику просвечивать, создавая эффект границы. Вы можете применить это к фону TextView так же, какshape
рисование было сделано выше.Вот еще несколько ссылок о списках слоев:
Использование 9-патча
Вы можете просто сделать изображение из 9 патчей с одной рамкой. Все остальное так же, как обсуждалось выше.
Использование представления
Это своего рода хитрость, но она хорошо работает, если вам нужно добавить разделитель между двумя представлениями или границу для одного TextView.
Вот еще несколько ссылок:
источник
border: 1px solid #999;
не должно быть так сложно.Простой способ - добавить представление для вашего TextView. Пример для нижней границы:
Для других границ направления, пожалуйста, отрегулируйте расположение вида разделителя.
источник
Я решил эту проблему, расширив текстовое представление и нарисовав границу вручную. Я даже добавил, чтобы вы могли выбрать, если граница пунктирная или пунктирная.
И пограничный класс:
Надеюсь, это поможет кому-то :)
источник
Я просто смотрел на аналогичный ответ - это можно сделать с помощью Stroke и следующего переопределения:
источник
Вы можете установить границу двумя способами. Один отрисовывается, а второй - программный.
Используя Drawable
программный
источник
Самое простое решение, которое я нашел (и которое действительно работает):
источник
Я нашел лучший способ поместить границу вокруг TextView.
Используйте изображение из девяти пятен для фона. Это довольно просто, SDK поставляется с инструментом для создания изображения из 9 патчей и абсолютно не требует кодирования.
Ссылка http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch .
источник
Вы можете добавить что-то вроде этого в свой код:
источник
Проверьте ссылку ниже, чтобы сделать закругленные углы http://androidcookbook.com/Recipe.seam?recipeId=2318
Папка Drawable в разделе res в проекте Android не ограничивается растровыми изображениями (файлы PNG или JPG), но также может содержать формы, определенные в файлах XML.
Эти формы затем могут быть повторно использованы в проекте. Форма может быть использована для наложения границы вокруг макета. В этом примере показана прямоугольная граница с изогнутыми углами. В папке drawable создается новый файл customborder.xml (в Eclipse используйте меню «Файл» и выберите «Создать», затем «Файл», в выбранной папке для рисования введите имя файла и нажмите «Готово»).
XML, определяющий форму границы, вводится:
Атрибут
android:shape
установлен на прямоугольник (файлы формы также поддерживают овал, линию и кольцо). Прямоугольник является значением по умолчанию, поэтому этот атрибут можно было бы опустить, если он является определяемым прямоугольником. Обратитесь к документации Android по фигурам по адресу http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape для получения подробной информации о файле фигур .Углы элемента задают скругленные углы прямоугольника. Можно установить разные радиусы на каждом углу (см. Ссылку на Android).
Атрибуты заполнения используются для перемещения содержимого представления, к которому применяется форма, для предотвращения перекрытия границы содержимым.
Цвет границы здесь светло-серый (шестнадцатеричное значение RGB).
Фигуры также поддерживают градиенты, но здесь они не используются. Снова, посмотрите ресурсы Android, чтобы увидеть, как определяется градиент. Форма применяется к макету с помощью
android:background="@drawable/customborder"
.В макете другие виды могут быть добавлены как обычно. В этом примере был добавлен один TextView, а текст белый (шестнадцатеричный RGB FFFFFF). Фон установлен в синий цвет, плюс некоторая прозрачность для уменьшения яркости (шестнадцатеричное альфа-RGB-значение A00000FF). Наконец, макет смещается от края экрана, помещая его в другой макет с небольшим количеством отступов. Полный файл макета, таким образом:
источник
У меня есть способ сделать это очень просто, и я хотел бы поделиться этим.
Когда я хочу возвести в квадрат значения TextViews, я просто помещаю их в LinearLayout. Я устанавливаю цвет фона моего LinearLayout и добавляю поле для моего TextView. Результат в точности такой, как если бы вы поместили квадрат в TextView.
источник
Меняется ответ Константина Бурова, потому что не работают в моем случае:
compileSdkVersion 26 (Android 8.0), minSdkVersion 21 (Android 5.0), targetSdkVersion 26, реализация 'com.android.support:appcompat-v7:26.1.0', gradle: 4.1
источник
Вы можете создать собственный фон для вашего текстового представления. Шаги 1. Зайдите в свой проект. 2. Перейдите к ресурсам и щелкните правой кнопкой мыши, чтобы нарисовать. 3. Нажмите New -> Drawable Resource File 4. Присвойте имя файлу 5. Вставьте следующий код в файл
Для вашего просмотра текста, где вы хотите использовать его в качестве фона,
Android: фон = "@ вытяжка / your_fileName"
источник
Вот мой «простой» вспомогательный класс, который возвращает ImageView с границей. Просто поместите это в свою папку утилит и назовите это так:
Вот код
источник
selectionBorder
?Это может помочь вам.
источник
Создайте вид границы с цветом фона в качестве цвета границы и размера вашего текстового представления. установить заполнение вида границы как ширину границы. Установите цвет фона текстового представления как цвет, который вы хотите для текстового представления. Теперь добавьте ваш текстовый вид внутри вид границы.
источник
Попробуй это:
источник
Есть много способов добавить границу в textView. Самый простой
android:background="@drawable/textview_bg"
способ - создать пользовательский объект рисования и настроить его так же, как для вашего textView.Textview_bg.xml будет идти под Drawables и может быть что-то вроде этого. Вы можете иметь
solid
илиgradient
фон (или ничего, если не требуется),corners
чтобы добавить угловой радиус иstroke
добавить границу.textview_bg.xml
источник
этот код достаточно вы можете разместить где вы хотите
источник
setBackground в вашем текстовом представлении xml,
добавьте файл rounded_textview.xml в каталог для рисования.
установить рисуемый файл в фоновом режиме textView.
источник
На самом деле, это очень просто. Если вам нужен простой черный прямоугольник за Textview, просто добавьте
android:background="@android:color/black"
теги TextView. Нравится:источник