Android 在RadioButton上显示图片和文字

openkk 10年前

使用XML文件很简单就可以实现,但是有时必须要使用java code 的方式动态实现,这就有些复杂了,这需要继承RadioButton并覆盖其中的onDraw方法。

在代码中的image是Bitmap对象。

@Override   protected void onDraw(Canvas canvas) {     super.onDraw(canvas);       if(image!=null){       Paint pt = new Paint();       pt.setARGB(255,66,66,66);       //消除锯齿       pt.setAntiAlias(true);       //居中显示图片       int imageX=(int)(this.getWidth()-image.getWidth())/2;         canvas.drawBitmap(image,imageX,5,pt);       pt.setARGB(255,255,255,255);       //居中显示字符串       int strX=(int)(this.getWidth()-name.getBytes().length*5.5)/2;       canvas.drawText(name,strX,(image.getHeight()+15),pt);     }     }