0

我有一个从TextView.

onDraw()当我的 custom 方法中的变量为真时,我试图画一条蓝线TextView

我的代码

       if (this._selected) {
            this.bluePaint.setColor(getResources().getColor(R.color.actionBlue));
            float pix = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 6, getResources().getDisplayMetrics());
            this.bluePaint.setStrokeWidth(pix);
            canvas.drawLine(0,this.getHeight()-(pix/2),this.getWidth(),this.getHeight()-(pix/2),this.bluePaint);
            Log.d("CCTab","Tab Height:"+this.getHeight()+" Width:"+this.getWidth()+" StrokeWidth:"+pix);
        }

现在这适用于 Eclair(2.1,API 级别 7),但它不适用于 Gingerbread(2.6 和 2.7,API 级别 9 和 10)。

我的问题

为什么?

提前致谢

4

1 回答 1

0

我从来没有找到解决这个问题的方法。然而,作为一种解决方法,而不是使用 TextView 来扩展我的类,我使用了 View 并手动实现了文本的绘制以及绘制这条线,这已经奏效了。

于 2012-11-02T12:07:03.740 回答