我使用下面的代码完成了删除文本。
tvIngredient.setPaintFlags(tvIngredient.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
并取消我使用下面代码的删除
tvIngredient.setPaintFlags(tvIngredient.getPaintFlags() & (~ Paint.STRIKE_THRU_TEXT_FLAG));
我的问题是,如何改变击出线的颜色。?
答案 0 :(得分:1)
这将在您的视图中创建一个删除线
<View
android:id="@+id/View_Strike"
android:layout_width="match_parent"
android:layout_below="@id/Layout_myRow"
android:layout_height="1dp"
android:background="@android:color/white" />
现在,您要为 listview 设计行布局。将此位置置于视图上方,使其在行布局中的所需位置与文本视图重叠
并设置其visibility Gone
现在视情况而定,当您必须通过您的项目进行攻击时,其可见性可见
当然是解决方案!我在我的一个应用程序中使用过它
Just remember that the parent layout have to be **RelativeLayout** to use layout_below on child**
答案 1 :(得分:0)
为此,您还可以创建自定义文本视图并在textview画布上绘制一条线条,其中包含您喜欢的颜色和笔触粗细
class CustomTextView extends TextView {
public Paint paint;
public boolean addStrike = false;
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.GREEN);
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)
使用图层列表并将其作为背景放在textview的顶部。
在drawables文件夹中创建一个名为的文件 strikethru.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="#FFFFFF"/>
</shape>
</item>
<item>
<shape android:shape="line">
<stroke android:width="1dp"
android:color="#8d8d8d"/> <!-- adjust color you want here -->
</shape>
</item>
</layer-list>
然后在你的textview中执行此操作:
<TextView
android:id="@+id/tv_toolbar_prod_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="3dp"
android:text="1,290 B"
android:background="@drawable/strikethru_line"
android:textColor="#070707"
android:textSize="13sp" />
3dp的填充权使得攻击更明显。