如何实现参考图所示带红色竖线的TextView颜色样式
Android TextView实现带左侧红竖线+淡粉色背景效果
你可以直接通过layer-list类型的drawable实现该样式,无需自定义View,步骤如下:
- 首先在项目的
res/drawable目录下新建背景资源文件,比如命名为bg_tv_warning.xml,代码如下:
<?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="#FCEEEE" /> </shape> </item> <!-- 左侧垂直红色线条 --> <item android:gravity="left"> <shape android:shape="rectangle"> <size android:width="3dp" /> <solid android:color="#E64A19" /> </shape> </item> </layer-list>
- 给目标TextView设置该背景,同时配置合适的内边距避免文字和红线、边缘贴齐:
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/bg_tv_warning" android:paddingHorizontal="12dp" android:paddingVertical="8dp" android:text="提示文本内容" android:textColor="#212121" android:textSize="14sp" />
- 自定义调整说明:
- 调整整体背景色调:修改第一个shape标签下
solid属性的色值即可 - 调整左侧红线粗细:修改第二个shape标签下
size的width数值 - 调整红线颜色:修改第二个shape标签下
solid属性的色值 - 调整内容留白:修改对应padding属性的数值匹配设计要求
- 调整整体背景色调:修改第一个shape标签下
如果需要在代码中动态设置,直接调用
textView.setBackgroundResource(R.drawable.bg_tv_warning)即可,不需要额外编写绘制逻辑。
内容的提问来源于stack exchange,提问作者nano tech
相关产品推荐
相关产品推荐

