ScaleDrawable表示将一个drawable以它高宽的百分比形式表示。
ScaleDrawable属性分析:
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/aa" //指定drawable资源
android:scaleGravity="center_vertical|center_horizontal" //指定缩放后的位置
android:scaleWidth="80%" //宽度的百分比
android:scaleHeight="80%" //高度的百分比
android:useIntrinsicSizeAsMinimum="true"> //是否使用原始大小作为最小高宽,如果为true,将不能通过setLevel改变比例
</scale>
引用:
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:src="@drawable/scale"/>
通过setLevel改变比例。
ImageView iv=(ImageView) findViewById(R.id.iv);
final ScaleDrawable scaleDrawable=(ScaleDrawable) iv.getDrawable();
scaleDrawable.setLevel(1);
iv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
scaleDrawable.setLevel(scaleDrawable.getLevel()+500);
}
});