Android-旋转按钮内的图像
我想在按钮的单击按钮时旋转按钮内的图像.我尝试使用ImageView,它可以使用,但是为了访问性目的,我需要使用按钮而不是ImageView. 单击之前: 在这里,下箭头是按钮背景. 单击后: 单击按钮显示额外的数据和背景箭头.我如何在单击时进行动画和旋转按钮背景? 布局代码用于参考:
12 2024-04-05
编程技术问答社区
安卓系统中的脉动按钮动画
我正在使用语音识别应用程序,并且我想在录制时制作播放/停止按钮"脉冲".这样的东西: 我试图进行缩放量,按钮生长,但是当然,它可以使所有按钮增长. public static ObjectAnimator pulseAnimation(ImageView target){ ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(target, PropertyValuesHolder.ofFloat("scaleX", 1.1f), PropertyValuesHolder.ofFloat("scaleY", 1.1f)); scaleDown.setDuration(310); scaleDown.setRepeatCount(ObjectAnimator.INFINITE); scaleDown.setRepea
4 2024-04-05
编程技术问答社区
我如何将动画添加到底部的表段fragment
我有一个底部表格fragment,其中有两个按钮,当我单击任何按钮解开()方法时.有什么方法可以使底部表格fragment动画.我希望它显示一个缓慢的滑动动画,持续时间为1000ms. 示例代码 signin.findViewById(R.id.signin_button_using).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { callback.onClickSignInEmail(); dismiss(); } }) 解决方案 在用BottomSheetDialogFragment扩展的片段中,尝试覆盖此方法 @Override public void onActivityCreated(Bundle arg0) {
2 2024-04-03
编程技术问答社区
如何从不同角度旋转一个视图?
我试图将图像按钮旋转180度,以使其与反向肖像方向匹配.当我这样做的方式与其他方向变化相同时,结果是完美的,但不是动画. public void onOrientationChanged(int DeviceAngle) { float MyButtonCurrentAngle = MyButton.getRotation(); //Gets portrait rotation (0) if(DeviceAngle > 350 || DeviceAngle 80 && DeviceAngle
安卓系统用路径画圆
我试图动画绘制一个圆圈.在我的自定义视图中,我有 private final Paint mPaint = new Paint() { { setDither(true); setStyle(Paint.Style.STROKE); setStrokeCap(Paint.Cap.ROUND); setStrokeJoin(Paint.Join.ROUND); setColor(Color.BLUE); setStrokeWidth(30.0f); setAntiAlias(true); } }; ... protected void onDraw(Canvas canvas) { super.onDraw(); if (mOval == null) { mOval = new RectF(getLeft(), getTop(
4 2024-03-30
编程技术问答社区
在Bézier曲线路径上移动一个物体
我想将图像从顶部到底部移动到Bézier曲线路径上,但是我无法理解如何计算X/y点并从此路径上斜坡.路径看起来像以下图像: > 我有起点,终点和两个控制点. Path path = new Path(); Point s = new Point(150, 5); Point cp1 = new Point(140, 125); Point cp2 = new Point(145, 150); Point e = new Point(200, 250); path.moveTo(s.x, s.y); path.cubicTo(cp1.x, cp1.y, cp2.x, cp2.y, e.x, e.y); 解决方案 这是一个立方的Bézier曲线,公式为[x,y]=(1–t)^3*P0+3(1–t)^2*t*P1+3(1–t)t^2*P2+t^3*P3.这样,您可以通过评估方程来解决每个点.在Java中,您可以这样做: /* t is time(va
6 2024-03-30
编程技术问答社区
安卓动画在onAnimationEnd中没有完成
,当animation.hasEnded设置为true时,当onAnimationEnd触发事件时,Android动画似乎并没有真正完成. 我希望我的观点更改它的背景,可以在它的ScaleAnimation的末尾绘制,但是您可以清楚地看到它在完成之前已更改了一些Miliseconds.问题是,它会闪烁,因为新背景出现(= IS)短时间缩放直到动画真正完成为止. 有没有办法获得动画的真实末端,或者只是阻止新的背景在短时间内缩放? 谢谢! //编辑:我正在使用AnimationListener来获取以下通话: @Override public void onAnimationEnd(Animation animation) { View view = (MyView) ((ExtendedScaleAnimation) animation).getView(); view.clearAnimation(); view.reque
8 2024-03-26
编程技术问答社区
安卓系统的帧动画问题
我被困在Android中显示框架动画.我的问题是我必须动画36张图像.最小的图像的大小为69 kb,最大的(最后一帧)为526kb.总共11MB.我知道它疯了,但我需要这样做.请参阅下面的图像.该应用程序已经为iPhone制作,我必须将其移植到Android. 要求: 平滑动画 没有框架损失 与iPhone一致 我尝试的解决方案是: 通过在XML文件中提供动画图.问题:开始时间接近6 -12秒.图像失去了如此jaggy的体验. 更改处理程序内部的图像视图位图.问题:框架丢失和内存 创建一个自定义ImageView类.定义方法showAnimation()及其内部更新位图,并无效()视图单元the最后帧.问题:不符合我的要求.到目前为止,这给出了最好的结果,但根据需要提供的一半. 我是OpenGL和GameDevelverment的菜鸟.我找不到任何问题的选择.请帮助. 最小图像: 最后一个图像: 解决方案 我可以可视化您的目标.我猜想这
4 2024-02-26
编程技术问答社区
安卓系统旋转/连续旋转一个图像,直到我命令它停止。
我想制作一个新鲜的图标. 当我单击它时,我希望它像进度对话框一样旋转,直到我的刷新完成,然后必须停止旋转. 我该如何实现? 我尝试了这样的动画: RotateAnimation rotateAnimation = new RotateAnimation(30, 90, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); refreshBtn.startAnimation(rotateAnimation); 但这仅旋转一次或两次,然后停止. 解决方案 尝试以下方法: RotateAnimation rotateAnimation = new RotateAnimation(30, 90, Animation.RELATIV
6 2024-02-26
编程技术问答社区
安卓-动画问题
我试图将视图从屏幕的底部向上滑到顶部,并进行动画,但最后它返回到屏幕上的底部.我不知道为什么.这是代码: public void slideUp() { Animation slide = null; slide = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, -5.0f); slide.setDuration(4000); SubviewManager.getSelectedRouteView().startAnimation(slide); slide.setAnimationListener(new Animation.Ani
6 2024-02-26
编程技术问答社区
ImageButton动画
我正在在Android中实现动画书,并且动画由XML定义(不是Android XML).这些图像位于固定位置,当用户在屏幕上的元素中触摸时,应用程序会播放声音并为imageButton进行动画,更改image src和位置(x和y). 我想知道我该怎么做.由于图像点的大小没有相同的大小,因此我认为它就像图像 2 : 谢谢 解决方案 有两种动画类型: 查看动画和预言动画. 视图动画只能动画视图对象.它也缺乏各种动画,因为它只能以刻度,旋转,移动……不能更改背景颜色.同样,视图动画的分歧是它仅更改绘制视图对象的位置.从字面上看,它仍然处于相同的位置.这就是为什么在视图动画完成后完成按钮的原因. 另一方面,属性动画可以使视图和非视图对象动画,并且它没有约束作为视图动画.例如,当对象被移动时,使用属性动画,它们不仅在屏幕上的其他位置上绘制,而且实际上是将其移动到那里的. 现在,属性动画比视图动画要复杂得多,因此,如果您实际上不需要属性动画的所有优点,建议使
2 2024-02-26
编程技术问答社区
PropertyValuesHolder。无法找到属性<property-name>的setter/getter,其值类型为float。
当我使用PropertyValuesHolder.ofFloat(....) 时,我将面临以下问题 Property Valuesholder:找不到属性带有Value类型Float 其他明智的选择,如果我将.ofFloat(...)替换为ofInt(....) 使用ofint(....),动画的动画不顺利. 我还在检查是否已发布了已发布的解决方案,,但是这个解决方案对我不起作用,因为我将动画应用于自定义绘制. 可以解释使用offloat时发生此错误的原因(....).以及这是替代解决方案.预先感谢. 解决方案 在这里相同的问题. 解决方案: final ObjectAnimator animScrollToBottom = ObjectAnimator.ofInt(AnimatorProxy.wrap(scrollView), "scrollY", fromPositionInt, toPositionInt).setDuration
4 2024-02-26
编程技术问答社区
列表视图动画
我有一个类别的listView(主列表).此列表中的每个类别都有一个子类别列表(多个级别).当单击任何主要列表项目时,相同的列表将使用所选项目的子类别列表重新填充.我想将动画应用于此功能,即当单击主列表项目时,列表在屏幕左外遍历,同时,带有重新填充数据的相同列表来自右侧. 那么,有人可以告诉我是否有可能以任何方式将两个不同的动画同时应用于同一视图? 我能想到的解决方法之一是有一个虚拟列表并维护两个列表视图之间的数据.还有其他解决方法吗? 预先感谢. 解决方案 听起来您想使用两个ListView 回答相关问题的答案提供了更多详细信息. 其他解决方案 这是用于创建lisview的示例代码,并在ListView项目中添加动画. 请按照简单的步骤创建ListView项目动画. 步骤1: 创建listView,然后创建简单的arraylist以在listView中设置,将值添加到arraylist. ArrayList items=new
2 2024-02-26
编程技术问答社区
安卓系统中的按钮动画
今天,我想象的是非常有趣的问题.在我的工作中,我们正在创建约会服务,主要功能之一将是屏幕,其中显示了不同女孩(或男孩)的照片,用户按"热"或"不"按钮按下.这两个按钮都显示在屏幕上的照片下方. 我们的分析说,我们应该实施某种"游戏"机制,因此想要这样的事情:例如,当用户按下"不是"按钮时 - 它开始冻结并用冰覆盖,然后破裂,然后损坏显示下一张照片.这不是扩展,旋转或翻译动画...按钮本身,其内容应该在一小时的时间内发生变化(也许是一两个). 这让我非常害怕,因为当我考虑在不同设备上缩放这些按钮,以及我可能会制作的尼尼普和手工制作的动画的不同麻烦. 有可能做这件事吗?也许有任何解决方法或其他方法. 解决方案 为您的动画制作图像,并以png格式保存在文件夹中. 用下面的代码对这些图像进行动画.
2 2024-02-26
编程技术问答社区
链式动画师设置安卓动画
新的Android我想制作一些平滑的动画. 我在设备上有一个包含效果的文件,每个效果都是动画.该文件告诉我何时会播放效果以及效果持续时间. 问题是我无法链接动画dynmacily: AnimatorSet mainAnimatorSet(); _listAllAnimator // Will contain every AnimatorSet(); for (int i = 0; i
4 2024-02-26
编程技术问答社区
自定义ScaleAnimation/applytransformation未被调用
这是我的自定义缩放: public class MyScaler extends ScaleAnimation { private static final String TAG = "myScaler"; private View mView; private LayoutParams mLayoutParams; private int oldMargin, newMargin; private boolean mVanishAfter = false; public MyScaler(float fromX, float toX, float fromY, float toY, int duration, View view, boolean vanishAfter) { super(fromX, toX, fromY, toY); setDuration(du
4 2024-02-26
编程技术问答社区