android setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds区别
2015-08-25 16:09
239 查看
手工设置文本与图片相对位置时,常用到如下方法:
setCompoundDrawables(left, top, right, bottom)
setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom)
意思是设置Drawable显示在text的左、上、右、下位置。
但是两者有些区别:
setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高,
所以才有The Drawables must already have had setBounds(Rect) called.
使用之前必须使用Drawable.setBounds设置Drawable的长宽。
setCompoundDrawablesWithIntrinsicBounds是画的drawable的宽高是按drawable固定的宽高,
所以才有The Drawables' bounds will be set to their intrinsic bounds.
即通过getIntrinsicWidth()与getIntrinsicHeight()获得,
TextView可以用过调用setCompoundDrawables设置一张图片出现在上下左右四个地方。代码如下:
Drawable drawable = getResources().getDrawable(R.drawable.img);
drawable.setBounds(0, 0, 32, 32);
textView.setCompoundDrawables(drawable, null, null, null);
setCompoundDrawables(left, top, right, bottom)
setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom)
意思是设置Drawable显示在text的左、上、右、下位置。
但是两者有些区别:
setCompoundDrawables 画的drawable的宽高是按drawable.setBound()设置的宽高,
所以才有The Drawables must already have had setBounds(Rect) called.
使用之前必须使用Drawable.setBounds设置Drawable的长宽。
setCompoundDrawablesWithIntrinsicBounds是画的drawable的宽高是按drawable固定的宽高,
所以才有The Drawables' bounds will be set to their intrinsic bounds.
即通过getIntrinsicWidth()与getIntrinsicHeight()获得,
TextView可以用过调用setCompoundDrawables设置一张图片出现在上下左右四个地方。代码如下:
Drawable drawable = getResources().getDrawable(R.drawable.img);
drawable.setBounds(0, 0, 32, 32);
textView.setCompoundDrawables(drawable, null, null, null);
相关文章推荐
- android 学习笔记 创建自己的内容提供器
- Ubuntu平台下Android ADB驱动的安装
- Android-复制创建可操作的图片
- Android Studio 使用NDK编程
- android解析xml格式数据
- Android异步消息处理机制完全解析,带你从源码的角度彻底理解
- android MTK驱动背光唤醒流程
- 离线安装ADT 23.0.4遇到的问题与解决方法
- Android 触摸手势基础 官方文档概览
- AndroidStudio使用GreenDao实战
- 在Android程序中保存全局变量
- android 学习笔记 读取系统联系人
- Android-画廊实现 (Gallery , ImageSwitch)
- android——如何从一个activity中退出程序
- android沉浸式状态栏设置(4.4以上版本)
- 百度定位Sdk 162错误解决方法之Android Studio
- Android 模式 持续更新
- 曲线解决Android中对布局的截屏
- Android Studio上使用GBK编码
- Android自定义日期滚动控件