2013-6-14 19:49:25
定义一个ScaleDrawable
<?xml version="1.0" encoding="utf-8"?><scale xmlns:android="class="pln"> android:drawable="@drawable/logo" android:scaleGravity="center_verticalcenter_horizontal" android:scaleHeight="80%" //示意从高度80% 开初缩放,80%为图片高度最小值。level 0弗成见。 android:scaleWidth="80%"/> //暗示从宽度80% 开端缩放,80%为图片宽度最小值。level 0不成睹。
参考:
- 文件地位:
res/drawable/filename.xml
文件名即资本名- 编译数据类型:
- 指背
的指针。 - 资源引用:
- In Java:
R.drawable.filename
In XML: @[package:]drawable/filename
- 语法:
<?xml version="1.0" encoding="utf-8"?><scale xmlns:android=" android:scaleWidth="50%" android:scaleHeight="50%" android:drawable="@drawable/image1" android:scaleGravity="center_verticalcenter_horizontal" ></scale>
在layout中应用: ImageView imageView=(ImageView)findViewById(R.id.imgView); ScaleDrawable scaleDrawable=(ScaleDrawable)imageView.getDrawable(); scaleDrawable.setLevel(1); //level 1的时辰便是50% //scaleDrawable.setLevel(0); //level 0不行见
示例:
对另外一个drawable资源,基于当前的level,停止尺寸变更的drawable。
在scale.xml中:
必须是上面的一个或多个值(多个值之间用”“分开),下里的值和描写跟上一篇的ClipDrawable一样。
<ImageView android:id="@+id/imgView" android:src="@drawable/scale" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
正在代码中设置level:
<?xml version="1.0" encoding="utf-8"?>< xmlns:android="class="pln"> 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" />
元素:<scale>
- 定义一个ScaleDrawable,必须做为根元素。
属性:
值 | 描述 |
---|
top | Put the object at the top of its container, not changing its size. |
bottom | Put the object at the bottom of its container, not changing its size. |
left | Put the 广州羊城搬家 object at the left edge of its container, not changing its size. This is thedefault. |
right | Put the object at the right edge of its container, not changing its size. |
center_vertical | Place object in the vertical center of its container, not changing its size. |
fill_vertical | Grow the vertical size of the object if needed so it completely fills its container. |
center_horizontal | Place object in the horizontal center of its container, not changing its size. |
fill_horizontal | Grow the horizontal size of the object if needed so it completely fills its container. |
center | Place the object in the center of its container in both the vertical and horizontal axis, notchanging its size. |
fill | Grow the horizontal and vertical size of the object if needed so it completely fills itscontainer. |
clip_vertical | Additional option that can be set to have the top and/or bottom edges of the child clipped toits container's bounds. The clip is based on the vertical gravity: a top gravity clips thebottom edge, a bottom gravity clips the top edge, and neither clips both edges. |
clip_horizontal | Additional option that can be set to have the left and/or right edges of the child clipped toits container's bounds. The clip is based on the horizontal gravity: a left gravity clipsthe right edge, a right gravity clips the left edge, and neither clips both edges. |
android:scaleHeight
- Percentage(百分比)缩放的下度,以百分比的圆式默示drawable的缩放。形式例如:100%,12.5%。
android:scaleWidth
- Percentage(百分比)缩放的宽度,以百分比的方法表现drawable的缩放。情势比方:100%,12.5%。
示例:
xmlns:android
- String范例。 必需的。界说XML文件的定名空间。必需是
"资本。必须的。援用一个drawable资源。
android:scaleGravity
- 要害字。指定缩放后的gravity的位置。