Android 图标滑移过程中变大,一段时间后变回之前尺寸配合Imageview使用
时间: 2023-09-17 16:13:34 浏览: 45
你可以使用属性动画来实现这个效果。首先,在res/drawable目录下创建一个XML文件,用于定义图标。例如,这里创建一个ic_launcher.xml文件,内容如下:
```xml
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="#FFFFFF"
android:pathData="M0,0h24v24h-24z"/>
<path android:fillColor="#FF0000"
android:pathData="M12,2L3,20h18L12,2zM12,17.2L8.6,12h6.8L12,17.2z"/>
</vector>
```
然后,在需要使用该图标的布局文件中添加一个ImageView,设置src属性为该图标:
```xml
<ImageView
android:id="@+id/iv_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
```
接下来,在代码中使用属性动画来实现图标的滑移和大小变化效果。示例代码如下:
```java
// 获取ImageView对象
ImageView ivIcon = findViewById(R.id.iv_icon);
// 创建属性动画,设置动画时间为1秒
ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(ivIcon,
PropertyValuesHolder.ofFloat(View.TRANSLATION_X, 0, 500),
PropertyValuesHolder.ofFloat(View.TRANSLATION_Y, 0, 500),
PropertyValuesHolder.ofFloat(View.SCALE_X, 1f, 2f),
PropertyValuesHolder.ofFloat(View.SCALE_Y, 1f, 2f));
animator.setDuration(1000);
// 设置动画监听器,在动画结束后将图标大小还原为原来的尺寸
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
ObjectAnimator.ofPropertyValuesHolder(ivIcon,
PropertyValuesHolder.ofFloat(View.SCALE_X, 2f, 1f),
PropertyValuesHolder.ofFloat(View.SCALE_Y, 2f, 1f))
.setDuration(500)
.start();
}
});
// 启动动画
animator.start();
```
该代码中,使用ObjectAnimator创建一个属性动画,设置了图标的X轴和Y轴平移以及大小变化。动画监听器中,当动画结束后,又创建了一个属性动画,将图标大小还原为原来的尺寸。最后,启动动画即可。
相关推荐
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)