Android - imageView 可以在屏幕上浮动吗?

Posted

技术标签:

【中文标题】Android - imageView 可以在屏幕上浮动吗?【英文标题】:Android - can an imageView float around on the screen? 【发布时间】:2011-08-25 08:33:13 【问题描述】:

我有一个简单的问题。我目前使用在屏幕上动态移动对象上方绘制的位图,当用户单击它们时,我使用一些自定义代码打开带有注册 onclick 的视图。我没有使用我们提出的代码,而是想知道是否可以将位图替换为 imageView。

这行得通吗?还是我应该坚持下去并继续建立在我建立的自定义类上。在查看了需求之后,我发现一个 imageview 将具有我需要做的所有内置功能。或者是否有更好的视图类适用于移动屏幕上的动态移动视图。

【问题讨论】:

【参考方案1】:

您可以使用animations 来移动视图。

示例:

AnimationSet set = new AnimationSet(true);

Animation animation = new AlphaAnimation(0.0f, 1.0f);
animation.setDuration(100);
set.addAnimation(animation);

animation = new TranslateAnimation(Animation.RELATIVE_TO_SELF,
        -1.0f, Animation.RELATIVE_TO_SELF, 0.0f,
        Animation.RELATIVE_TO_SELF, 0.0f,
        Animation.RELATIVE_TO_SELF, 0.0f);
animation.setDuration(1500);
set.addAnimation(animation);

LayoutAnimationController controller = new LayoutAnimationController(set, 0.25f);

yourView.setLayoutAnimation(controller);
controller.start();

或者在自定义视图的onDraw中,操作canvas。

【讨论】:

我已经在使用画布并根据对象的位置在其上绘制位图,但我想做的是绘制一个图像视图来代替位图。如果我使用动画不会预先确定运动吗?或者我可以使用它们来允许视图根据来自手机传感器的用户输入移动。顺便感谢您的回复:) 您总是可以动态地制作动画。但是如果你想使用手机传感器,我认为如果你使用 canvas,甚至 openGl 或一些 2d 框架,性能会更好 是的,当用户移动手机时,我使用了画布来绘制位图。我的意思是我可以简单地用图像视图替换任何地方的位图,只需将图像海峡加载到图像视图并像这样传递它,但我不确定你是否可以在画布上绘制动态移动的图像视图,在我重写我的代码之前我想就此事发表一些意见。 @Tamas 这将使布局动画化几秒钟。如何连续动画布局。

以上是关于Android - imageView 可以在屏幕上浮动吗?的主要内容,如果未能解决你的问题,请参考以下文章

android ImageView图片缩放至屏幕大小

android:在imageview中拉伸图像以适应屏幕

Android - OnTouchListener如果已按下屏幕则不会触发

如何为不同的屏幕尺寸android studio自动调整imageview的大小?

android中如何动态修改ImageView中图片的大小 比如说点击该图片后图片能变大

在android中经常更新ImageView