TextView 文字描边
16lz
2021-01-23
在不是很明显的描边 可以使用 阴影来互动如下: android:shadowColor阴影颜色 android:shadowDx阴影的水平偏移量 android:shadowDy阴影的垂直偏移量 android:shadowRadius阴影的范围
真正的描边方法如下:
产考: http://www.oschina.net/code/snippet_586849_37287
真正的描边方法如下:
实现方法是两个TextView叠加,只有描边的TextView为底,实体TextView叠加在上面
public class MyTextView2 extends TextView { private TextView borderText = null;///用于描边的TextView public MyTextView2(Context context) { super(context); borderText = new TextView(context); init(); } public MyTextView2(Context context, AttributeSet attrs) { super(context, attrs); borderText = new TextView(context, attrs); init(); } public MyTextView2(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); borderText = new TextView(context, attrs, defStyleAttr); init(); } public void init() { TextPaint tp1 = borderText.getPaint(); tp1.setStrokeWidth(1); //设置描边宽度 tp1.setStyle(Paint.Style.STROKE); //对文字只描边 borderText.setTextColor(Color.GREEN); //设置描边颜色 borderText.setGravity(getGravity()); } @Override public void setLayoutParams(ViewGroup.LayoutParams params) { super.setLayoutParams(params); borderText.setLayoutParams(params); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { CharSequence tt = borderText.getText(); //两个TextView上的文字必须一致 if (tt == null || !tt.equals(this.getText())) { borderText.setText(getText()); this.postInvalidate(); } super.onMeasure(widthMeasureSpec, heightMeasureSpec); borderText.measure(widthMeasureSpec, heightMeasureSpec); } protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); borderText.layout(left, top, right, bottom); } @Override protected void onDraw(Canvas canvas) { borderText.draw(canvas); super.onDraw(canvas); }}
产考: http://www.oschina.net/code/snippet_586849_37287
更多相关文章
- Android TextView加上阴影效果
- Android Studio App设置TextView文字内容大小颜色
- android:elevation属性,控制View底部渐变阴影
- 去除或替换listview 默认的点击选中时的颜色
- android颜色值的表示方法android:background="#FFFFFFFF"的意思
- 【Android UI】Android颜色系大全
- Android 4.4以后设置状态栏颜色
- Android listview分割线的颜色设置