为 TextView 提供自定义边框

Give custom border to TextView

如何为 TextView 提供自定义边框,其中:
1) 左右边框为 2 dp,颜色不同,不透明度很小
2) 上下边框为 1 dp
3) 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>

根据您的招聘使用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>
<?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"

检查我的代码,我已经集成了相同的代码。

<?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 更改为您选择的不透明度或使用底部栏。

此外,您需要为每个边框定义 solid 标记并应用透明颜色以使您的 TextView 可见。 在 drawable 中应用代码后,您将能够看到这样的预览:

祝你好运..!!