如何在Android中用红色设置文本视图的打击线

时间:2015-12-15 06:43:55

标签: android

使用此代码,我可以显示文本视图,其中包含对textView:

的删除
   holder.discounttext.setText("MRP " + rupee + discountcost);
            holder.discounttext.setPaintFlags(holder.discounttext.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);

这是我的当前屏幕:enter image description here

欲望屏幕:

enter image description here

请告诉我如何用红色设置打击颜色?

3 个答案:

答案 0 :(得分:4)

最简单的方法是使用Drawable。 想法是创建一个drawable线,然后使用这个drawable设置TextView的背景。让Drawable文件为line.xml

<item android:state_pressed="false">
    <shape android:shape="line">
        <stroke android:width="2dp"
            android:color="#ffffff" />
    </shape>
</item>

这是红色线条和2dp宽度的可绘制线条。 [根据您的要求改变]

然后在TextView上,将line.xml drawable设置为背景。

holder.discounttext.setBackground(getResources().getDrawable(R.drawable.line));

输出

enter image description here

答案 1 :(得分:2)

制作自定义TextView

    class CustomTextView extends TextView {
            public Paint paint;
            public boolean addStrike = false;
    public CustomTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
}
        public CustomTextView(Context context) {
            super(context);
            init(context);
        }

        public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            init(context);
        }

        private void init(Context context) {
            paint = new Paint();
            paint.setColor(Color.RED);
            paint.setStrokeWidth(getResources().getDisplayMetrics().density * 1);
        }

        @Override
        protected void onDraw(Canvas canvas) {
            // TODO Auto-generated method stub
            super.onDraw(canvas);
            if (addStrike) {
                canvas.drawLine(0, getHeight() / 2, getWidth(),
                        getHeight() / 2, paint);
            }
        }

    }

添加行程可以调用

myCustomTextView.addStrike = true;
myCustomTextView.invalidate();

要删除警示,请致电

myCustomTextView.addStrike = false;
myCustomTextView.invalidate();

答案 2 :(得分:0)

一些解决方案: