android view视图的层叠(叠加)
Posted 当富网络
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
- Bitmap bm = BitmapFactory.decodeResource(getResources(),R.drawable.a);
- Bitmap bm1 = BitmapFactory.decodeResource(getResources(),R.drawable.b);
- Bitmap bm2 = BitmapFactory.decodeResource(getResources(),R.drawable.c);
- Drawable[] array=new Drawable[3];
- array[0] = new BitmapDrawable(bm2);
- array[1] = new BitmapDrawable(bm1); //白色
- array[2] = new BitmapDrawable(mytext.getDrawingCache());
- LayerDrawable la=new LayerDrawable(array);
- la.setLayerInset(0, 0, 0, 0, 0);
- la.setLayerInset(1, 200, 200, 200, 200);
- la.setLayerInset(2, 400, 400, 400, 400);//第一个参数2代表数组的第三个元素,为位图资源
- image.setImageDrawable(la);
上面是三个图片的叠加并显示在同一个view中,那么文字和图片如何一起叠加显示呢?
自定义视图时重载onDraw()函数提供了如下的函数
[java] view plain copy
- protected void onDraw(Canvas canvas)
- super.onDraw(canvas);
- canvas.drawColor(Color.WHITE);
- /*写字*/
- paint = new Paint();
- paint.setTextSize(24);
- canvas.drawText(getResources().getString(R.string.title), 50, 50, paint);
这样直接出来的字的字体不大好看,如何解决呢? 参考: http://yarin.iteye.com/blog/518405 即可解决
来自http://jayzhou215.blog.163.com/blog/static/13271353320122104532944/
以上是关于android view视图的层叠(叠加)的主要内容,如果未能解决你的问题,请参考以下文章
Android - 当键盘为 android 5.0 (棒棒糖) 启动时调整滚动视图