Android基础教程:在RadioButton上显示图片和文字


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

在代码中的image是Bitmap对象。

  1. @Override   
  2. protected void onDraw(Canvas canvas) {   
  3.   super.onDraw(canvas);   
  4.   
  5.   if(image!=null){   
  6.     Paint pt = new Paint();   
  7.     pt.setARGB(255,66,66,66);   
  8.     //消除锯齿    
  9.     pt.setAntiAlias(true);   
  10.     //居中显示图片    
  11.     int imageX=(int)(this.getWidth()-image.getWidth())/2;   
  12.   
  13.     canvas.drawBitmap(image,imageX,5,pt);   
  14.     pt.setARGB(255,255,255,255);   
  15.     //居中显示字符串    
  16.     int strX=(int)(this.getWidth()-name.getBytes().length*5.5)/2;   
  17.     canvas.drawText(name,strX,(image.getHeight()+15),pt);   
  18.   }   
  19.   
  20. }  

相关内容