如何使用ObjectAnimator根据拖动动作平滑地制作视图的上/下动画?
i创建了一个具有屏幕上顶部1/3的MapFragment的视图和占据屏幕底部2/3的ListView. ListView在其列表项目上方有一个"句柄",用户可以用来将整个ListView上或向下拖动.用户从屏幕上释放手指后,ListView应将其动画到整个屏幕的壁橱顶部或底部边框.到目前为止,我的工作正常,但是动画并不顺利.在用户从屏幕上释放手指之后,在ListView开始对最接近的边缘进行动画之前,有一个明显的暂停.我正在使用对objectAnimator的九型丹德罗德实现,以便动画在霍尼combe设备上工作.有任何想法吗? 这是我的ontouch inmp inspem: public boolean onTouch(View v, MotionEvent event) { final LayoutParams listLp = (LayoutParams) mListFrame.getLayoutParams(); final int topMargin
0 2023-05-24
编程技术问答社区
在安卓系统中逐帧制作图像动画的最佳方法
我有3套50张图像,我必须为Android应用程序中的每组图像创建动画.我能够创建一个简单的应用程序,该应用程序使用以下方法为50张图像进行动画启动, 在可绘制的文件夹中添加了动画列表xml,并使用frameAnimation.start(). 调用它. 此方法直到我保留了以下" Android:grineHeap ="清单文件中的" true". 我不确定这是动画图像的好方法(如果我们有更多的图像和更大的图像(如60 kb).图像是jpg格式)还是不是 我浏览了,我发现,如果我们能够清除内存,并且如果我们能够在内存中保持较少的图像,那么我们的应用程序将非常有效.所以我想知道如何清除内存? 请让我知道我需要遵循不同的方法来对图像进行动画,而不是上面解释的,以便我可以清除内存. 感谢您的帮助. 解决方案 研究了几篇文章并进行了很多研究后,我最终以编程方式修改图像中的图像以模拟帧动画.这样,我只是在任何时间点(以前,当前和下一个)在缓存中维护三张
8 2023-05-24
编程技术问答社区
绘画对象的动画颜色
我试图在颜色之间的自定义视图中为Paint对象动画.但是动画不起作用. ObjectAnimator colorFade = ObjectAnimator.ofObject(mCirclePaint, "color", new ArgbEvaluator(), getColor(), 0xff000000); colorFade.setDuration(1500); colorFade.start(); invalidate(); 我以前已经设置了这样的油漆颜色: mCirclePaint.setColor(Color.RED); Update 我认为Handler对它是否动画没有影响.即使没有处理程序,我也无法对油漆对象进行动画. 解决方案 这是我发现的解决方案: ObjectAnimator colorFade = ObjectAnimator.ofObject
2 2023-05-16
编程技术问答社区
用OpenGL ES 2.0绘制动画圆圈
我有一个用OpenGL顶点创建的圆对象. 触摸圆圈时,我希望激活一个缩放动画.圆半径将变大,直到达到一定半径,然后圆将转换回原始半径. 实施此动画的最佳方法是什么? 解决方案 您有一些可能性.最简单的是创建一个变量,该变量将在呈渲染之前为您的圆而构成缩放因子,并将所有顶点乘以它.然后使用一些计时器并随着时间的推移调整缩放因子,您可以创建动画. 我应该补充一点,如果您想按其中心扩展圆,则必须首先翻译圆顶点,以便圆圈的中心位于(0,0)点,然后按因子扩展并将圆圈转换回其初始位置. 如果您要实现的圆圈动画是您的GUI元素,那么我想到的另一种方法是: 在XML中创建一个ImageView或在代码中动态 在其上绘制顶点 创建XML Android动画,并随时使用 这是用于在ImageView上绘制圆圈的代码草稿: Bitmap tempBitmap = Bitmap.createBitmap(yourCircleWidth, yourCirc
2 2023-05-11
编程技术问答社区
在安卓系统中,将一个正方形按顺时针和逆时针旋转
我使用OpenGL概念在Android中创建了一些简单的动画,以及我该做什么是在时钟和反向明智的方向上旋转正方形.我的意思是在特定的时间内,正方形将分别以时钟的明智和反锁定的方式旋转. my main activity public class main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowMan
8 2023-05-11
编程技术问答社区
在按下按钮时以动画方式缩小按钮尺寸,并在释放时恢复其尺寸。
我希望a在按下时会更改大小(小一点)的按钮,并且在再次释放该按钮后,大小应更改为正常大小.我是使用比例xml来实现这一目标,但是它可以重新即使我不释放按钮也可以放置自己. 按钮在这里我指的是ImageView. 这是我的源代码: - imgSpin = (ImageView) findViewById(R.id.iv_spins); imgSpin.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: imgSpin.startAni
2 2023-05-08
编程技术问答社区
如何定位一个视图,以便在动画之后点击工作
我目前正在使用九种旧的Android来对Relativelayout进行动画,例如滑块菜单,该菜单滑落形成顶部.我已经尝试了很多方面,有人可以提出建议吗? 这是动画代码: private OnClickListener slideClick = new OnClickListener(){ @Override public void onClick(View v) { slideGroups.bringToFront(); if(!mPulledDown) { ObjectAnimator oa = ObjectAnimator.ofFloat(slideGroups, "translationY", slideGroups.getHeight()-80); oa.addListener(new AnimatorListener() { @Ov
2 2023-05-08
编程技术问答社区
安卓视图扩展动画
我正在尝试编辑这些来源创建一个简单的功能,以创建一个简单的功能将对我所有的观点发挥作用. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); RelativeLayout mLayout1 = (RelativeLayout) findViewById(R.id.layout1); RelativeLayout mLayoutToBeExpanded1 = (RelativeLayout) findViewById(R.id.layout_exp_1); addAction(mLayout, mLayoutToBeExpanded); RelativeLayout mLayout2 = (RelativeLayout) findViewById(R.id.layo
4 2023-05-08
编程技术问答社区
禁用NavigationDrawer图标的滑动动画
有什么方法可以禁用导航图图标的滑动动画?我的意思是效果,当您单击图标或用幻灯片手势打开抽屉时. (目前我仍然使用动作栏) 预览 解决方案 如果抽屉是正确的抽屉,则需要覆盖ActionBarDrawerToggle>的onDrawerSlide方法,并将 slideOffset设置为0 .因此,这将禁用导航抽屉图像的动画. @Override public void onDrawerSlide(View drawerView, float slideOffset) { if(drawerView!=null && drawerView == rightDrawerListView){ super.onDrawerSlide(drawerView, 0); }else{ super.onDrawerSlide(drawerView, slideOffset);
0 2023-04-20
编程技术问答社区
如何将ActionBar与NavigationDrawer一起滑动?
我想做的是在打开抽屉时与ActionBar一起滑动ActionBar.我目前没有使用任何第三方库,如果可能的话,我想保持这种方式.我所需要的只是以下方法的实现:getActionBarView.slide(dp); 这是我当前用来创建NavigationDrawer的代码: mDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) { public void onDrawerClosed(View view) { invalidateOptionsMenu(); // calling onPrepareOptionsMenu() to hide action bar icons } @Override publ
2 2023-04-20
编程技术问答社区
安卓5.0系统上的窗口动画与导航栏重合
我正在实施材料设计底部表我的应用中的设计模式在我的应用中使用Dialog的自定义子类.对话框已添加到屏幕的底部,并使用Y型翻译窗口输入动画: 在早期版本的Android上,这看起来很棒(如果我自己说):对话框从屏幕的底部和下的下方滑入 . 但是,在最新的5.0预览图像中,窗口动画发生在导航栏的上上,因此对话框内容暂时重叠导航.使用这种特殊的用例,它看起来很丑,奇怪和分心. 我可以在主题或代码中设置
0 2023-04-20
编程技术问答社区
活动导航:自定义动画与popEnter和popExit一样的片段
使用下面的代码可以使用动画更改活动: Bundle animation = ActivityOptions.makeCustomAnimation(App.getContext(), R.anim.enter_from_right, R.anim.exit_to_left).toBundle(); startActivity(intent, animation); 对于片段,您可以在fragmenttransaction上做类似的事情: // ... transaction.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left); // ... 这有效! 但是,我想在向后推动动画(BackStack Pop). 对于片段,您只需添加2个动画资源(Popenter&Popexit): transaction.setCustomAnimations(R.anim.enter_from_rig
4 2023-04-20
编程技术问答社区
如何检查设备是否足够*快
我找不到更好的措辞. 在我的应用程序中的某个时候,我设置了一些非常密集的动画.事实是,在高端设备上,动画运行顺利,眼睛令人愉悦.另一方面,我测试的一个低端设备在动画时性能很差. 尝试将用户体验放在首位,我想将这些内容运行在计算上足够的设备上,并以某种方式在其他设备上"关闭". 我已经考虑了如何区分设备.我唯一想到的是API级别:考虑到平台分裂和制造商的延迟,我相信应该在API级别和性能之间存在某种相关性.但是可能会有更好的东西. 你有任何想法吗? 只是为了澄清,动画不是我可以以任何方式减轻或简化的东西(例如,使用较小的尺寸可抽签,质量较差的位图,....).它主要是测量和布局的东西. 请随时编辑我选择的标签. 解决方案 您的应用程序第一次运行时,您可以运行某种微基准测试,该基准可以以不超过一两秒钟的速度测量CPU性能.我建议不要自动禁用动画,而是警告用户如果设备看起来很慢,并询问他们是否想禁用它们.
14 2023-04-11
编程技术问答社区
圆形进度条(用于倒计时)。
好的,所以我的倒数计时器为15秒,效果很好,我想为该计时器做一个自定义的圆形进度栏. 我想创建一个完整的圆圈,该圆圈在计时器下降直到不再有一个圆圈时,取出"派(圆)的切片(圆)". 我更愿意自己制作形状,而不是使用预制图像,因为我希望在任何手机上质量良好.我该怎么做?谢谢! 解决方案 我发现这个示例非常好: http:///mrigaen.blogspot.it/2013/12/create-circular-progress-bar-in-android.html 所以我以这种方式创建了我的进度栏
18 2023-04-08
编程技术问答社区
安卓动画将视图移动到另一个视图
我有两种视图在不同的布局中,我想将一个视图移动到另一个视图.我的代码怎么了? y动画戏剧性.第一个视图位于片段的布局中,第二位位于状态栏 中 ... int p1[] = new int[2]; int p2[] = new int[2]; viewOne.getLocationInWindow(p1); viewTwo.getLocationInWindow(p2); AnimatorSet animatorSet = new AnimatorSet(); animatorSet .play(ObjectAnimator.ofFloat(expandedImageView, "X", p1[0], p2[0] - p1[0])) .with(ObjectAnimator.ofFloat(expandedImageView, "Y", p1[1], p2[1] - p1[1])
4 2023-03-31
编程技术问答社区
安卓动画: 等到完成?
我想等到动画完成*在Android ImageView中完成之前,才能继续执行程序,正确执行此操作的方法是什么? (在此上下文中,"完成"意味着它正好贯穿其所有帧并在最后一个框架上停止.我不清楚该动画是否将是Android:oneshot =" true"动画,因为我会成为多次使用它,但不会连续运行,但间歇性地运行) 研究/猜测: a.我的问题我的问题似乎是一个Java线程问题,因为Android b.其他人的方法似乎是使用 animationListener ,似乎对于我的简单需求,困难而不必要的复杂.另外,我不确定该怎么做. c. andimationable "> andimationable "> andimationdrawable 班级)ISRUNNING方法,可能会在一段时间内使用(即(anim.isrunning()){wait(100ms)}).但是我有一种直觉,这是错误的方法.尽管在 concrencion Tutorial Tutorial
16 2023-03-27
编程技术问答社区