Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在TextView的子类中使用onDraw()在蜂巢中不起作用_Android_Textview - Fatal编程技术网

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);
        }