Android ImageView Zoom-in and Zoom-out Continuously(Android ImageView 不断放大缩小)
本文介绍了Android ImageView 不断放大缩小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有办法在Android中连续放大和缩小ImageView.我尝试使用下面的代码,但只有一个缩放功能在工作.
Is there any way to Zoom-in and Zoom-out an ImageView continuously in Android. I tried using the below code, but only one of the Zoom function is working.
zoomin.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="20000"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="3"
android:toYScale="3" >
</scale>
</set>
zoomout.xml
zoomout.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="20000"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.5"
android:toYScale="0.5" >
</scale>
</set>
还有我拥有的 Activity 类:
Animation zoomin, zoomout; //declared as public
@Override
public void onCreate(Bundle savedInstanceState) {
// animation
zoomin = AnimationUtils.loadAnimation(this, R.anim.zoomin);
zoomout = AnimationUtils.loadAnimation(this, R.anim.zoomout);
bgImage.setAnimation(zoomin);
bgImage.setAnimation(zoomout);
Thread t = new Thread(new Zoom());
t.start();
}
private class Zoom implements Runnable {
@Override
public void run() {
while (true) {
bgImage.startAnimation(zoomin);
try {
Thread.sleep(8000);
} catch (InterruptedException e) {
e.printStackTrace();
}
bgImage.startAnimation(zoomout);
}
}
}
这里的 zoomin 动画似乎运行良好.有没有办法连续实现zoomin和zoomout动画???
Here the zoomin animation seems to be working fine. Is there any way to implement the zoomin and zoomout animation continuously???
谢谢
推荐答案
用this代替thread
use this instead of thread
zoomin.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation arg0) {
bgImage.startAnimation(zoomout);
}
});
和
zoomout.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation arg0) {
bgImage.startAnimation(zoomin);
}
});
这篇关于Android ImageView 不断放大缩小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:Android ImageView 不断放大缩小
基础教程推荐
猜你喜欢
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
