2016-11-28 46 views
-1

我正在开发一个数学应用程序,我需要用对角线击打文本,如果我使用穿透文本线条出现水平线,我不能使用可绘制因为我已经使用它为文本视图背景 我试图甚至在带有边框的可绘制文件中创建对角线,但没有运气我不能这样做。无论如何要实现这一目标? 我附上我的文本视图的背景文件通过文本添加对角线穿透

<?xml version="1.0" encoding="utf-8" ?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:thickness="0dp" 
    android:shape="rectangle"> 
<stroke android:width="3dp" 
    android:color="#4799E8"/> 
<corners android:radius="5dp" /> 
    <gradient 
    android:startColor="#ffffff" 
    android:endColor="#FFFFFF" 
    android:type="linear" 
    android:angle="270"/> 
    </shape> 

回答

1

你必须创建一个自定义的TextView可以实现这一点。

这个answer将帮助您创建它。

public class ObliqueStrikeTextView extends TextView 
{ 
    private int dividerColor; 
    private Paint paint; 

    public ObliqueStrikeTextView(Context context) 
    { 
     super(context); 
     init(context); 
    } 

    public ObliqueStrikeTextView(Context context, AttributeSet attrs) 
    { 
     super(context, attrs); 
     init(context); 
    } 

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

    private void init(Context context) 
    { 
     Resources resources = context.getResources(); 
     //replace with your color 
     dividerColor = resources.getColor(R.color.black); 

     paint = new Paint(); 
     paint.setColor(dividerColor); 
     //replace with your desired width 
     paint.setStrokeWidth(resources.getDimension(R.dimen.vertical_divider_width)); 
    } 

    @Override 
    protected void onDraw(Canvas canvas) 
    { 
     super.onDraw(canvas); 
     canvas.drawLine(0, getHeight(), getWidth(), 0, paint); 
    } 
} 

您可以通过完全合格的产品包装中的观点,像这样使用它在布局文件:

<your.package.name.ObliqueStrikeTextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="1234567890" 
     android:textSize="20sp"/> 
+0

感谢纳库尔,但我需要的是单击按钮时罢工的文本,所以我如何以编程方式调用obliqueStrike Text视图。在点击文本之前应该是正常的..请帮我出来.. –

+1

一个简单的选项将被隐藏/显示正常并点击TextView,点击按钮。 – Nakul

+0

你好nakul,我正在尝试ObliqueStrike文本视图,但unforutunately我不能显示它,我显示我的代码的一部分..你可以找出错误。 –