给TextView自定义边框

时间:2018-11-28 07:38:13

标签: android xml android-layout textview android-drawable

如何为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 :(得分:1)

根据您的招聘使用Alpha颜色

<?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>

答案 1 :(得分:0)

+wq

将此代码添加到您的drawable(test_drawable)文件中,并设置为textview

vim +'SomeCommand' +qa

答案 2 :(得分:0)

检查我的代码,我已经将其集成了。

<?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 标签并应用透明颜色,以使TextView可见。 在drawable中应用代码后,您将能够看到这样的预览:

enter image description here

祝你好运..