使用此代码,我可以显示带有罢工的文本视图到 textView :
holder.discounttext.setText("MRP " + rupee + discountcost);
holder.discounttext.setPaintFlags(holder.discounttext.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
Run Code Online (Sandbox Code Playgroud)
愿望画面:
请告诉我如何用红色设置罢工颜色?
制作自定义 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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了增加斯托克,你可以打电话
myCustomTextView.addStrike = true;
myCustomTextView.invalidate();
Run Code Online (Sandbox Code Playgroud)
和删除罢工你只需打电话
myCustomTextView.addStrike = false;
myCustomTextView.invalidate();
Run Code Online (Sandbox Code Playgroud)
最简单的方法是使用 Drawable。思路是创建一个line drawable,然后用这个drawable设置TextView的背景。让 Drawable 文件为 line.xml
<item android:state_pressed="false">
<shape android:shape="line">
<stroke android:width="2dp"
android:color="#ffffff" />
</shape>
</item>
Run Code Online (Sandbox Code Playgroud)
这是红色和 2dp 宽度的线条的可绘制对象。【根据你的要求修改】
然后在 TextView 上,将 line.xml drawable设置为背景。
holder.discounttext.setBackground(getResources().getDrawable(R.drawable.line));
Run Code Online (Sandbox Code Playgroud)
输出将是
| 归档时间: |
|
| 查看次数: |
5012 次 |
| 最近记录: |