android view视图的层叠(叠加)
16lz
2021-12-04
第一种情况: google android textview drawable
参考:
setCompoundDrawable to add Drawables to TextView
[java] view plain copy
上面是三个图片的叠加并显示在同一个view中,那么文字和图片如何一起叠加显示呢?
自定义视图时重载onDraw()函数提供了如下的函数
[java] view plain copy
这样直接出来的字的字体不大好看,如何解决呢? 参考: http://yarin.iteye.com/blog/518405 即可解决
来自http://jayzhou215.blog.163.com/blog/static/13271353320122104532944/
参考:
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中文API —— VideoView
- android 建数据库 SQLite 存储sd 卡或者内存
- Android应用程序进程启动过程的源代码分析(2)
- Android(安卓)呼吸灯流程分析(二)
- Android应用程序组件Content Provider的共享数据更新通知机制分
- Android应用程序键盘(Keyboard)消息处理机制分析(10)
- Android应用程序键盘(Keyboard)消息处理机制分析(21)
- Android(安卓)Universal Image Loader 源码分析
- android framework