Android中如何为AppCompatTextView的文本添加黑色描边?
给AppCompatTextView添加黑色文本描边(XML实现)
方法一:直接用阴影属性快速实现
这种方式最简便,利用系统自带的阴影属性模拟描边效果,适配大多数场景:
<androidx.appcompat.widget.AppCompatTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="带黑色描边的文本" android:textSize="24sp" android:textColor="#FFFFFF" <!-- 浅色文本更能凸显黑色描边 --> android:shadowColor="#000000" <!-- 描边颜色设为黑色 --> android:shadowDx="0" <!-- 水平偏移设为0,保证描边均匀环绕 --> android:shadowDy="0" <!-- 垂直偏移设为0,保证描边均匀环绕 --> android:shadowRadius="2" /> <!-- 控制描边粗细,值越大描边越粗 -->
方法二:自定义Style复用描边样式
如果多个TextView需要相同的描边效果,把样式抽成统一的Style,方便后续修改维护:
- 在
res/values/styles.xml中定义样式:
<style name="BlackStrokeTextStyle"> <item name="android:textColor">#FFFFFF</item> <item name="android:textSize">24sp</item> <item name="android:shadowColor">#000000</item> <item name="android:shadowDx">0</item> <item name="android:shadowDy">0</item> <item name="android:shadowRadius">2</item> </style>
- 在布局中引用该Style:
<androidx.appcompat.widget.AppCompatTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="带黑色描边的文本" style="@style/BlackStrokeTextStyle" />
小提示
- 想要更粗的描边,直接增大
shadowRadius的数值即可,比如设为3 - 如果需要偏移方向的描边,修改
shadowDx和shadowDy的正负值(正数向右/下偏移,负数向左/上偏移)
内容的提问来源于stack exchange,提问作者Tom Darious
相关产品推荐
相关产品推荐

