【问题标题】:Give custom border to TextView为 TextView 提供自定义边框
【发布时间】:2018-11-28 07:38:12
【问题描述】:

如何将自定义边框赋予 TextView where:
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>

【问题讨论】:

  • 能否也显示所需的背景图片?

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


【解决方案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>

【讨论】:

  • 它给了我 2dp 边框作为顶部,我将其更改为 1 但仍然显示相同的 2dp。
  • 您需要同时更改列表中的第 3 项和第 4 项
  • 谢谢,但是当我添加圆角半径时,它会从内侧变成圆形,而外侧的拐角仍然很锋利。对此有什么想法吗?
【解决方案2】:
<?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"

【讨论】:

    【解决方案3】:

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

    <?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中应用代码后,您将能够看到这样的预览:

    祝你好运..!!

    【讨论】:

      猜你喜欢
      • 2013-07-19
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多