android view视图的层叠(叠加)

第一种情况: google android textview drawable
参考:           
setCompoundDrawable to add Drawables to TextView

http://mgmblog.com/2010/06/04/setcompounddrawable-to-add-drawables-to-textview/

上面是给出TextView添加Drawables时调用的方法

第二种情况:
而在图像之中想要添加文字,而又不想用一个又一个的view进行叠加怎么办呢
[java]  view plain  copy
  1. Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.a);  
  2. Bitmap bm1 = BitmapFactory.decodeResource(getResources(),R.drawable.b);  
  3. Bitmap bm2 = BitmapFactory.decodeResource(getResources(),R.drawable.c);  
  4. Drawable[] array=new Drawable[3];  
  5.   
  6. array[0] = new BitmapDrawable(bm2);  
  7. array[1] = new BitmapDrawable(bm1); //白色  
  8. array[2] = new BitmapDrawable(mytext.getDrawingCache());  
  9. LayerDrawable la=new LayerDrawable(array);  
  10.   
  11. la.setLayerInset(00000);  
  12. la.setLayerInset(1200200200200);  
  13. la.setLayerInset(2400400400400);//第一个参数2代表数组的第三个元素,为位图资源  
  14. image.setImageDrawable(la);  

上面是三个图片的叠加并显示在同一个view中,那么文字和图片如何一起叠加显示呢?

自定义视图时重载onDraw()函数提供了如下的函数
[java]  view plain  copy
  1. protected void onDraw(Canvas canvas) {  
  2.   super.onDraw(canvas);  
  3.   canvas.drawColor(Color.WHITE);  
  4.         /*写字*/  
  5.   paint = new Paint();  
  6.         paint.setTextSize(24);  
  7.         canvas.drawText(getResources().getString(R.string.title), 5050, paint);  

这样直接出来的字的字体不大好看,如何解决呢?
参考: http://yarin.iteye.com/blog/518405 即可解决

来自http://jayzhou215.blog.163.com/blog/static/13271353320122104532944/

你可能感兴趣的:(android,Android,view,控件类)