0

我认为我的问题是基本的。但是,我找不到有关该信息以及如何执行此操作的信息。

可以拆分文本视图吗?在textview中间放一行?

      **TextView**
    ________________   
   |                |
   |________________|               
   |                |
   |________________|

其他事情......想象一下textview的高度= 100dip。有可能只为 textview 的前 10% 着色吗?仅对前 10dp 着色??

任何人都可以帮忙吗?谢谢四位您的时间和帮助。

4

2 回答 2

0

您可以View通过覆盖onDrawthat 的方法在 Android 中自定义 a View

您可能会考虑的是:

@Override
protected void onDraw(Canvas canvas) {
    // paint a line through the centre
    Paint paint = new Paint();
    canvas.drawLine(0, canvas.getWidth(), canvas.getHeight()/2, 
                    canvas.getHeight()/2, paint);
    super.onDraw(canvas);
}

这将通过View(在您的情况下为 a TextView)的中心画一条线。您可以对 10%/90% 的着色使用相同的方法。

例如。

@Override
protected void onDraw(Canvas canvas) {
    // paint a region blue
    Paint paint = new Paint();
    paint.setColor(Color.BLUE);//or whatever colour you want
    canvas.drawRect(0, canvas.getHeight()/10, canvas.getWidth(),
                    canvas.getHeight(), paint)
    super.onDraw(canvas);
}

Draw rect 接受参数:

canvas.drawRect(left, top, right, bottom, paint)

还有其他选择,您可以传入实际的绘图 Rectangle 等。

于 2013-01-25T11:29:17.760 回答
0

首先,您不能拆分 TextView。但是您可以通过将正确的图像设置为android:setDrawableBottom="yourImage"

于 2013-01-25T11:17:31.997 回答