这不是一个重复的问题,我发现了一些问题,但他们没有满意的答案,答案不适用于多行文字观点。
我已经检查过以下链接,但它们不够用: Is there an easy way to strike through text in an app widget?
我想在TextView
(striked TextView
)的中心创建一条线,但我希望在XML布局中而不是在Java代码中进行。
我已经通过使用JAVA代码实现了这个结果:
myTextView.setPaintFlags(myTextView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
我想要相同的结果,但在下面的XML代码中:
<TextView
android:id="@+id/myTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
再次感谢。
答案 0 :(得分:1)
最简单的方法是使用图像。
使用水平线和透明背景创建图像,并将其设置为TextView
android:background="@drawable/strike_through"
或强>
创建一个xml文件,该文件将绘制一条线并将其设置为TextView
<shape android:shape="line">
<stroke android:width="2dp" android:color="#ffffff" />
</shape>
答案 1 :(得分:1)
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
android:text="XYZ"
android:background="@drawable/line"/>
<强> line.xml 强>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke android:width="1dp"
android:color="@android:color/white"/>
</shape>
试试这个!
修改强>
以上代码仅适用于单行文字。 对于多行文本,请使用以下代码:
<string name="strike_text">
<strike>sample TextView \nSecond line of TextView</strike>
</string>
并将其用作
android:text="@string/strike_text"
答案 2 :(得分:0)
在xml中执行此操作的方法是创建一个drawable of strike并将其设置为TextView
的背景。 drawable的一个例子是:
<item android:state_pressed="false">
<shape android:shape="line">
<stroke android:width="2dp" android:color="#ffffff" />
</shape>
</item>