Android 在TextView的子类中使用onDraw()在蜂巢中不起作用
我有一个从Android 在TextView的子类中使用onDraw()在蜂巢中不起作用,android,textview,Android,Textview,我有一个从TextView子类化的对象 当自定义TextView的onDraw()方法中的变量为true时,我试图画一条蓝线 我的代码 if (this._selected) { this.bluePaint.setColor(getResources().getColor(R.color.actionBlue)); float pix = TypedValue.applyDimension(TypedValue.COMPLEX_UN
TextView
子类化的对象
当自定义TextView
的onDraw()方法中的变量为true时,我试图画一条蓝线
我的代码
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)中起作用,但在姜饼(2.6和2.7,API级别9和10)中不起作用
我的问题
为什么?
提前谢谢我从来没有找到解决这个问题的方法。然而,作为一种变通方法,我没有使用TextView来扩展我的类,而是使用了View,并实现了手动绘制文本,以及绘制这条线,这很有效
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);
}