Как поставить рамку вокруг текстового представления Android? - PullRequest
668 голосов
/ 16 августа 2010

Можно ли нарисовать границу вокруг текстового представления?

Ответы [ 17 ]

7 голосов
/ 14 августа 2015

У меня есть способ сделать это очень просто, и я хотел бы поделиться им.

Когда я хочу возвести в квадрат mi TextViews, я просто помещаю их в LinearLayout. Я устанавливаю цвет фона моего LinearLayout и добавляю поле для моего TextView. Результат в точности такой, как если бы вы поместили квадрат в TextView.

1 голос
/ 18 августа 2015

Вот мой «простой» вспомогательный класс, который возвращает ImageView с границей.Просто поместите это в вашу папку утилит и назовите это так:

ImageView selectionBorder = BorderDrawer.generateBorderImageView(context, borderWidth, borderHeight, thickness, Color.Blue);

Вот код.

1 голос
/ 16 мая 2018

Изменение ответа Константина Бурова, потому что в моем случае не работает:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white" />
            <stroke android:width="2dip" android:color="#4fa5d5"/>
            <corners android:radius="7dp"/>
        </shape>
    </item>
</selector>

compileSdkVersion 26 (Android 8.0), minSdkVersion 21 (Android 5.0), targetSdkVersion 26, реализация 'com.android.support:appcompat-v7: 26.1.0 ', gradle: 4.1

0 голосов
/ 10 января 2018

Создайте вид границы с цветом фона в качестве цвета границы и размера вашего текстового представления. установить заполнение вида границы как ширину границы. Установите цвет фона текстового представления как цвет, который вы хотите для текстового представления. Теперь добавьте ваш текстовый вид внутри представления границы.

0 голосов
/ 21 июня 2014

Это может вам помочь.

<RelativeLayout
    android:id="@+id/textbox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@android:color/darker_gray" >

    <TextView
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_margin="3dp"
        android:background="@android:color/white"
        android:gravity="center"
        android:text="@string/app_name"
        android:textSize="20dp" />

</RelativeLayout
0 голосов
/ 16 февраля 2019

Попробуйте это:

<shape>
    <solid android:color="@color/txt_white"/>
    <stroke android:width="1dip" android:color="@color/border_black"/>
</shape>
0 голосов
/ 14 июля 2014

На самом деле, это очень просто.Если вы хотите простой черный прямоугольник за Textview, просто добавьте android:background="@android:color/black" в теги TextView.Как это:

<TextView
    android:textSize="15pt" android:textColor="#ffa7ff04"
    android:layout_alignBottom="@+id/webView1"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:background="@android:color/black"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...