动画里面ImageView的窗口管理 - Android电子 [英] Animate ImageView inside WindowManager - Android
本文介绍了动画里面ImageView的窗口管理 - Android电子的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想动画一个窗口管理器内的ImageView的。但它不工作。
请在下面找到我的code。在这里,你可以看到,我得到一个窗口管理系统服务,并增加了ImageView的。现在,我想补充的窗口管理器里面的ImageView后旋转。
I want to animate an ImageView inside a WindowManager. But it is not working. Please find my code below. Here you can see I get a window manager system service and added an imageview. Now I am trying to rotate after adding the imageview inside window manager.
这一项活动内正常工作。
It works fine inside an activity.
public class FloatingImageAnimationService extends Service {
private WindowManager windowManager;
private static ImageView chatHead;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
chatHead = new ImageView(this);
chatHead.setImageResource(R.drawable.image_small);
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
windowManager.addView(chatHead, params);
RotateAnimation ra = new RotateAnimation(
0,
-80,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF,
0.5f);
// how long the animation will take place
ra.setDuration(210);
// set the animation after the end of the reservation status
ra.setFillAfter(true);
// Start the animation
chatHead.startAnimation(ra);
}
}
请让我知道我需要做的,使其工作有什么额外的步骤。
Please let me know what additional steps I need to do to make it work.
谢谢你,
Bikash
推荐答案
您可以通过添加一个布局是这样的动画。
You can animate by adding a layout something like this.
//..at your onCreate() method
super.onCreate();
windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
chatHead = new ImageView(this);
chatHead.setImageResource(R.drawable.image_small);
// Create an additional layout for your animation.
LinearLayout layout = new LinearLayout(this);
layout.addView(chatHead); // And attach your objects
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP | Gravity.LEFT;
params.x = 0;
params.y = 100;
// Add your layout to the windowManager instead of your object.
windowManager.addView(layout, params);
//.. Add animations what you want.
这工作对我来说,当我遭遇了完全相同的情况。
It worked for me when I suffered the exactly same case.
这篇关于动画里面ImageView的窗口管理 - Android电子的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文