Задать пользовательскую границу для TextView - PullRequest
0 голосов
/ 28 ноября 2018

Как я могу дать пользовательскую границу TextView, где:
1) левая и правая граница - 2 dp и с другим цветом с небольшой непрозрачностью
2) верхняя и нижняя граница - 1 dp
3) Текст TextView должен быть видимым.прямо сейчас то, что я создал, не показывает текст textview

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle">
        <stroke
            android:width="1dp"
            android:color="#FF000000" />
        <solid android:color="#FFDDDDDD" />

    </shape>
</item>

<item
    android:bottom="1dp"
    android:left="2dp"
    android:right="15dp"
    android:top="1dp">
    <shape android:shape="rectangle">
        <stroke
            android:width="1dp"
            android:color="#FFDDDDDD" />
        <solid android:color="#00000000" />
    </shape>
</item>

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#76d273" />
        </shape>
    </item>
    <item android:bottom="2dp">
        <shape android:shape="rectangle">
            <solid android:color="#76d63f" />

        </shape>
    </item>
    <item
        android:bottom="2dp"
        android:top="2dp">
        <shape android:shape="rectangle">
            <solid android:color="#d63f60" />

        </shape>
    </item>
    <item
        android:bottom="2dp"
        android:left="2dp"
        android:right="2dp"
        android:top="2dp">
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white" />
        </shape>
    </item>
</layer-list>

добавьте этот код в свой файл drawable (test_drawable) и установите для textview

android:background="@drawable/test_drawable"
0 голосов
/ 28 ноября 2018

Проверьте мой код, который я интегрировал.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    //for top and bottom borders
    <item
        android:left="-2dp"
        android:right="-2dp">
        <shape android:shape="rectangle">
            <stroke
                android:width="1dp"
                android:color="#fff70b" />
            <solid android:color="@android:color/transparent" />
        </shape>
    </item>

    //for left and right border
    <item
        android:bottom="-2dp"
        android:top="-2dp">
        <shape android:shape="rectangle">
            <stroke
                android:width="2dp"
                android:color="#e90c0c" />
            <solid android:color="@android:color/transparent" />
        </shape>

    </item>
</layer-list>

Обратите внимание, что непрозрачность должна быть определена при создании только вашего цвета.При написании вашего цвета в colors.xml вы можете изменить прозрачность, как показано на скриншоте ниже.Либо измените 255 на выбранную непрозрачность, либо используйте нижнюю полосу.

enter image description here

Кроме того, необходимо определить тег solid для каждой границы и примените прозрачный цвет, чтобы сделать текстовое представление видимым.После применения кода в drawable, вы сможете увидеть предварительный просмотр, подобный этому:

enter image description here

Удачи .. !!

0 голосов
/ 28 ноября 2018

используйте альфа-цвет в соответствии с вашим набором

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#080808" />

        </shape>
    </item>
    <item
        android:bottom="2dp"
        >
        <shape android:shape="rectangle">
            <solid android:color="#76d63f" />

        </shape>
    </item>
    <item
        android:bottom="2dp"
        android:top="2dp"
        >
        <shape android:shape="rectangle">
            <solid android:color="#d63f60" />

        </shape>
    </item>
    <item
        android:bottom="2dp"
        android:top="2dp"
        android:left="2dp"
        android:right="2dp"
        >
        <shape android:shape="rectangle">
            <solid android:color="#3fa9d6" />

        </shape>
    </item>
</layer-list>
...