transition标签、scale标签和inset标签

来源:互联网 发布:vc和vb的功效 编辑:程序博客网 时间:2024/05/21 11:18

很多时候我们在实现渐变的动画效果时,都会使用到animation,但实际上我们有既简单又完美的解决方法,没错,它就是Transition啦,Transition用于实现两个Drawable之间的淡入淡出的效果,它的属性如下:

<?xml version="1.0" encoding="utf-8"?><transition xmlns:android="http://schemas.android.com/apk/res/android">    <item        android:id=""        android:width=""        android:height=""        android:bottom=""        android:drawable=""        android:end=""        android:gravity=""        android:left=""        android:right=""        android:start=""        android:top=""</transition>

使用:

shape:<?xml version="1.0" encoding="utf-8"?><transition xmlns:android="http://schemas.android.com/apk/res/android">    <item       android:drawable="">    </item>    <item android:drawable="">    </item></transition>xml:<ImageView        android:id="@+id/iv"        android:layout_centerInParent="true"        android:layout_width="250dp"        android:layout_height="100dp"        android:background="@drawable/shape"/>通过这2个方法实现让图片淡入淡出的效果 TransitionDrawable drawable= (TransitionDrawable) iv.getBackground();        drawable.startTransition(4000); TransitionDrawable drawable= (TransitionDrawable) iv.getBackground();  drawable.resetTransition(4000);

inset标签:这个跟全屏布局的效果差不多,貌似很少用到它,它的效果直接就在全屏布局完成了。
scale标签:这个标签用来实现缩放效果,属性如下:

<scale xmlns:android="http://schemas.android.com/apk/res/android"    android:drawable=""    android:scaleGravity=""     ---设置drawable缩放后的位置,取值和bitmap标签的一样,就不一一列举说明了    android:scaleHeight=""  ---设置可缩放的高度,用百分比表示,格式为XX%,0%表示不做任何缩放,50%表示只能缩放一半    android:scaleWidth=""    --- 设置可缩放的宽度,用百分比表示,格式为XX%,0%表示不做任何缩放,50%表示只能缩放一半               android:useIntrinsicSizeAsMinimum="">     ---设置drawable原有尺寸作为最小尺寸,设为true时,缩放基本无效</scale>

示例:

<scale xmlns:android="http://schemas.android.com/apk/res/android"    android:drawable="@drawable/christmas"    android:scaleGravity="center"    android:scaleHeight="50%"    android:scaleWidth="10%"    android:useIntrinsicSizeAsMinimum="false"></scale>xml:<ImageView        android:id="@+id/iv"        android:layout_centerInParent="true"        android:layout_width="250dp"        android:layout_height="100dp"        android:background="@drawable/shape"/>activity中的代码:  ImageView scaleImage = (ImageView) findViewById(R.id.iv);  ScaleDrawable scale = (ScaleDrawable) scaleImage.getBackground();  scale.setLevel(1);    ---这里可以设置1到10000的数字,数字越大显示越大。
0 0