Drawable资源——Scale Drawable 规模可绘制
1,认识
它可以根据自己的等级(level)将指定的Drawable缩放到一定比例。
文件位置︰
res/drawable/filename.xml
文件名用作资源id。
语法︰
<?xmlversion="1.0"encoding="utf-8"?>
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/drawable_resource"
android:scaleGravity=["top"|"bottom"|"left"|"right"|"center_vertical"|
"fill_vertical"|"center_horizontal"|"fill_horizontal"|
"center"|"fill"|"clip_vertical"|"clip_horizontal"]
android:scaleHeight="percentage"
android:scaleWidth="percentage"/>
2,各属性注解 <scale>
xmlns:android
字符串。所需。定义XML命名空间,
必须是"http://schemas.android.com/apk/res/android".
android:drawable
可绘制资源。所需。可绘制的资源的引用。
android:scaleGravity
等同于Shape中的android:gravity
top
将对象放在其容器,不改变其大小的顶部。
bottom
将对象放在其容器,不改变其大小的底部。
left
将对象放在左边缘与其容器,不改变其大小。这是默认设置。
right
将对象放在其容器,不改变其大小的右边缘。
center_vertical
将对象放在其容器,不改变其大小的垂直中心。
fill_vertical
如果需要完全充满其容器,成长对象的垂直大小。
center_horizontal
将对象放在其容器,不改变其大小的水平中心。
fill_horizontal
如果需要完全充满其容器,成长对象的水平大小。
center
将对象放置在其容器中的垂直和水平轴,不改变其大小的中心。
fill
如果需要完全充满其容器,成长对象的水平和垂直大小。
clip_vertical
可以设置要剪切到其容器边界的顶部和底部边缘的附加选项。
剪辑基于垂直重力︰顶尖的重力剪辑的底部边缘、底部重力
剪辑顶部边缘的和既不剪辑两个边缘。
clip_horizontal
附加选项,可以设置要剪切到其容器边界的左或右边缘。剪辑基于
横向重力︰左的重力剪辑的右边缘、正确的重力剪辑的左边的缘,
和既不剪辑两个边缘。

android:scaleHeight
百分比。指定Drawable高的缩放比例。例如︰100%、12.5%、等。

android:scaleWidth
百分比。指定Drawable宽的缩放比例。例如︰100%、12.5%、等。
3,代码示例 scale_drawable_useing.xml
<?xmlversion="1.0"encoding="utf-8"?>
<scalexmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/btn_logo"
android:scaleGravity="center"
android:scaleHeight="70%"
android:scaleWidth="70%"/>
ScaleDrawableUseingActivity.java ivScale=(ImageView)findViewById(R.id.iv_scale); ScaleDrawablescaleD=(ScaleDrawable)ivScale.getBackground(); scaleD.setLevel(1); 注意:
必须要有设置等级这一步:scaleD.setLevel(),因为Drawable的默认等级为0,那么如果不设置等级,那么ScaleDrawable将无法显示出来。
系统内部约定的Drawable等级的范围为:0~10000

更多相关文章

  1. Intent传递对象的两种方法(Serializable,Parcelable)
  2. Android系列之Intent传递对象的两种方法
  3. Android studio插件GsonFormat,返回json快速创建实体对象
  4. android将对象写入文件和从文件中读取对象数据
  5. android 之json对象解析并展示(含json解析源码)
  6. Android中使用putExtra()传递对象实例

随机推荐

  1. 【整理】Android(安卓)animation - 基础
  2. Android(安卓)开发之v4库冲突问题解决方
  3. Android 基本按钮
  4. Android(安卓)& Java 注释模板的设置
  5. android 发送邮件到QQEmail
  6. Android Studio 编译报错:Manifest merger
  7. android的Android Please ensure that ad
  8. android平台下基于ffmpeg的swscale模块实
  9. 【转】创建和使用Android library工程
  10. Android UI 之 clipRect