Questions tagged «android-animation»

动画可以通过Java和XML集成到Android Apps中。

16
使用上下滑动动画显示和隐藏视图
我LinearLayout想显示或隐藏一个Animation,只要更改可见性,它就会向上或向下推动布局。 我已经看到了一些样本,但是没有一个能满足我的需求。 我已经为动画创建了两个xml文件,但是当更改的可见性时,我不知道如何启动它们LinearLayout。

6
Android在setvisibility(view.Gone)的同时添加简单的动画
我已经设计了一个简单的布局。我已经完成了没有动画的设计,但是现在我想在textview click事件时添加动画,但我不知道如何使用它。我的xml设计看起来不错还是不好?任何建议,将不胜感激。 我的XML <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:longClickable="false" android:orientation="vertical" android:weightSum="16" > <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:orientation="vertical" android:background="#00DDA0" android:layout_weight="3" > </LinearLayout> <TextView android:id="@+id/Information1" android:layout_width="match_parent" android:layout_height="1dp" android:text="Child Information" android:background="#0390BE" android:layout_weight="0.75" android:textColor="#FFFFFF" android:layout_gravity="center|fill_horizontal"/> <LinearLayout android:id="@+id/layout1" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="8.5" android:background="#BBBBBB" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="TextView" /> </LinearLayout> <TextView android:id="@+id/Information2" android:layout_width="match_parent" …


6
Gmail三段动画方案的完整工作示例?
TL; DR:我正在寻找一个完整的工作样本,该样本将被称为“ Gmail三片段动画”方案。具体来说,我们想从两个片段开始,如下所示: 在发生某些UI事件(例如,点击片段B中的某些内容)时,我们想要: 片段A从屏幕左侧滑出 片段B滑动到屏幕的左边缘并缩小以占据片段A空出的位置 片段C从屏幕右侧滑入并占据片段B空出的位置 并且,在按下“返回”按钮时,我们希望该组操作被逆转。 现在,我已经看到了很多部分实现。我将在下面回顾其中的四个。除了不完整之外,它们都有问题。 @Reto迈尔促成这种普遍的回答相同的基本问题,表明你会使用setCustomAnimations()一个FragmentTransaction。对于两个片段的场景(例如,您最初只看到片段A,并希望使用动画效果将其替换为新的片段B),我完全同意。然而: 由于您只能指定一个“入”和一个“出”动画,因此我看不到如何处理三片段场景所需的所有不同动画 在<objectAnimator>他的代码示例使用像素的硬连线的位置,这似乎给出不同的屏幕尺寸是不切实际的,但setCustomAnimations()需要动画资源,排除在Java中定义这些事情的可能性 我很茫然,以与事物对象的动画师规模的领带怎么样android:layout_weight的LinearLayout百分比分配空间迷惑不解 我一开始就对片段C的处理方式感到困惑(将GONE?android:layout_weight的0?预先动画化为0的比例? @Roman Nurik指出,您可以为任何属性设置动画,包括您自己定义的属性。这可以帮助解决固定位置的问题,而以发明自己的自定义布局管理器子类为代价。这对某些人有所帮助,但是我仍然对Reto的其余解决方案感到困惑。 该pastebin条目的作者显示了一些诱人的伪代码,基本上是说所有三个片段最初都将驻留在容器中,而片段C首先通过hide()事务操作隐藏。然后我们在UI事件发生时使用show()C和hide()A。但是,我看不到如何处理B更改大小这一事实。它还依赖于一个事实,即您显然可以将多个片段添加到同一容器中,而且我不确定从长远来看这是否是可靠的行为(更不用说它应该破坏了findFragmentById(),尽管我可以接受)。 这篇博文的作者指出,Gmail根本没有使用setCustomAnimations(),而是直接使用对象动画制作器(“您只需更改根视图的左边界+更改右视图的宽度”)。但是,这仍然是两段式解决方案AFAICT,实现再次显示了以像素为单位的硬接线尺寸。 我将继续解决这个问题,所以有一天我可能会自己回答,但我真的希望有人能为这个动画场景设计出三片段解决方案,并可以发布代码(或指向它的链接)。Android中的动画使我想拔头发,而那些看到我的人都知道这在很大程度上是徒劳的。


6
将波纹效果添加到RecyclerView项目
我正在尝试将波纹效果添加到RecyclerView的项目中。我在网上看了一下,但找不到我需要的东西。我认为它必须是自定义效果。我已经尝试将android:background属性设置为RecyclerView本身,并将其设置为“?android:selectableItemBackground”,但是它不起作用。 <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" android:clickable="true" android:background="?android:selectableItemBackground" android:id="@+id/recyclerView" android:layout_below="@+id/tool_bar"/> 这是我要在其中添加效果的RecyclerView:

1
通过动画交换活动中的片段
我想通过动画在一个活动中交换两个片段。假设PageA用于片段A,屏幕左侧,而PageB用于片段B,即屏幕右侧。现在我希望当我单击pageA上的按钮时,PageA将移动到屏幕的右侧,并带有一些过渡动画。 我尝试了以下代码来替换职位 FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.container, new FragB()); fragmentTransaction.commit(); 寻找一些线索。 提前致谢。

9
显示DialogFragment,动画从一点开始
DialogFragment当用户在中点击某行时,我正在显示一个ListView。我想对对话框的显示进行动画处理,以使其从行的中央开始增长。从启动器打开文件夹时,可以看到类似的效果。 ,我已经有一个想法是组合TranslateAnimation和ScaleAnimation。还有另一种方法吗?

7
ActionItem的动画图标
我一直在到处寻找适当的解决方案,但似乎还找不到。我有一个ActionBar(ActionBarSherlock),其中包含一个菜单,该菜单从XML文件扩展而成,并且该菜单包含一个项目,并且该项目显示为一个ActionItem。 菜单: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_refresh" android:icon="@drawable/ic_menu_refresh" android:showAsAction="ifRoom" android:title="Refresh"/> </menu> 活动: [...] @Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.mymenu, menu); return true; } [...] 该ActionItem显示为带有图标,但没有文本,但是当用户单击该ActionItem时,我希望该图标开始动画制作,更具体地说,是在原地旋转。有问题的图标是刷新图标。 我意识到ActionBar支持使用自定义视图(添加一个Action视图),但是该自定义视图已扩展为覆盖ActionBar的整个区域,并且实际上阻止了除应用程序图标以外的所有内容,在我看来,这不是我想要的。 因此,我的下一个尝试是尝试使用AnimationDrawable并逐帧定义动画,将drawable设置为菜单项的图标,然后onOptionsItemSelected(MenuItem item)获取图标并开始使用进行动画处理((AnimationDrawable)item.getIcon()).start()。然而,这是不成功的。有人知道有什么办法可以达到这种效果吗?

5
结束动画事件android
我在一个视图(位于片段内)中有一个淡入淡出的动画,每次动画完成后,该视图都会重新绘制自己。我发现周围有工作view.SetVisibility(View.GONE)。但是,它不会等待动画完成。我只想在动画完成后执行此setVisibility代码。最好的方法是什么?

4
相对于中心点的Android图像比例动画
我有一个ImageView,并对其进行了简单的缩放动画。非常标准的代码。 我的scale_up.xml: <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:fromXScale="1" android:fromYScale="1" android:toXScale="1.2" android:toYScale="1.2" android:duration="175"/> </set> 我的动画代码: Animation a = AnimationUtils.loadAnimation(this, R.anim.scale_up); ((ImageView) findViewById(R.id.circle_image)).startAnimation(a); 问题: 当图像缩放时,它不是从中心缩放,而是从左上角缩放。换句话说,图像的缩放版本与中心没有相同的点,但是其左上角具有相同的点。这里的链接解释了我的意思。第一张图像是动画的缩放比例,第二张图像是我希望的缩放比例。它应保持中心点相同。我尝试在容器上的图像上设置重力,将其向左或向右对齐,它的缩放比例始终相同。我在主屏幕上使用了RelativeLayout,ImageView位于另一个RelativeLayout中,但是我尝试了其他布局,没有任何变化。

4
Android-片段事务上的自定义动画未运行
我正在使用带有支持包v4的Google API 8(Android 2.2)。 它不会产生任何错误或动画。 交易: FragmentTransaction transaction = manager.beginTransaction(); transaction.replace(R.id.content, myFragment); transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); transaction.commit(); 动画: slide_in_left.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="700" android:fromXDelta="-100%" android:toXDelta="0%" > </translate> </set> slide_out_right.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="700" android:fromXDelta="0%" android:toXDelta="100%" > </translate> </set> 有人知道这里发生了什么吗?

13
在Android中摇动/摆动查看动画
我创建了一个anim.xml文件(例如以下文件)以摇动imageview,例如android中的IOS图标。但是,它不能为我提供相同的结果。有更好的主意吗? <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:duration="300" android:fromDegrees="-2" android:pivotX="50%" android:pivotY="50%" android:repeatCount="infinite" android:toDegrees="2" />

9
Android:使用动画显示/隐藏视图
我一直在这里查看许多Google搜索结果/问题,以确定如何通过垂直动画显示/隐藏视图,但是我似乎找不到一个完全正确或不太模糊的视图。 我有一个布局(撤消栏),该布局在另一个布局之下,在多个其他小部件之上;撤消栏应根据情况垂直滑动打开和关闭。 目前,我现在所做的所有操作都是将视图设置为可见或消失。

4
展开/折叠Lollipop工具栏动画(Telegram应用程序)
我试图弄清楚工具栏的展开/折叠动画是如何完成的。如果您查看Telegram应用程序设置,将会看到有一个列表视图和工具栏。向下滚动时,工具栏将折叠,而向上滚动时,工具栏将展开。还有个人资料图片和FAB的动画。有人对此有任何线索吗?您是否认为他们在其之上构建了所​​有动画?也许我缺少新的API或支持库中的内容。 当您打开微调器时,我在Google日历应用程序中注意到了相同的行为(我不认为它是微调器,但看起来像):工具栏展开,向上滚动时,它折叠。 只是要澄清一下:我不需要QuickReturn方法。我知道,Telegram应用程序可能正在使用类似的东西。我需要的确切方法是Google日历应用效果。我尝试过 android:animateLayoutChanges="true" 并且expand方法效果很好。但是显然,如果我向上滚动ListView,工具栏不会折叠。 我还考虑过添加一个,GestureListener但是我想知道是否有任何API或更简单的方法来实现。 如果没有,我想我会去的GestureListener。希望能有流畅的动画效果。 谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.