【问题标题】:Android button effects and animationAndroid 按钮效果和动画
【发布时间】:2015-07-17 16:21:30
【问题描述】:

在我的下一个项目中,当用户单击按钮或拖动悬停按钮时,我想要这样的按钮效果或动画。

我做了太多的研究,但我一无所获。

我想要这样的按钮效果。

请帮我解决这个问题。

提前致谢。

【问题讨论】:

  • 不太清楚你在问什么。请详细说明。
  • @mvai 感谢您的回复。我想要如图所示的按钮背景动画,当用户单击按钮的任何部分时,所有线条都会像按钮中的那样移动。
  • 你在哪里实现这个?代码将根据您是否必须在应用程序或游戏中实现而有所不同。此外,这些线是做什么用的?据我所知,这张图片来自材料设计页面,它讲述了材料在棒棒糖中的行为方式。动画期间不会出现实际线条。
  • 线条?这甚至不是材料设计中的真正动画!只是一些关于用户应该如何感知按钮触摸动画的奇特规范。我建议查看 API 示例或遵循 Android Guides 中的教程,这对您入门很有帮助。
  • 没错——来自here 的图片除了“目标——创造一种视觉语言,将优秀设计的经典原则与技术和科学的创新和可能性相结合”之外没有任何解释。搞笑。

标签: android android-layout android-animation android-button android-styles


【解决方案1】:

要创建类似于您的示例的动画,您肯定需要实现自定义动画。在此处查找详细信息:

https://developer.android.com/training/material/animations.html

此外,您绝对应该检查可能实现类似效果的现有库。不错的库来源:

https://android-arsenal.com/tag/13

【讨论】:

  • 感谢@Ivan,好的,让我检查一下,我会尝试实现它
【解决方案2】:

【讨论】:

    【解决方案3】:

    我认为您应该使用可点击的“FrameLayout”并且在其中使用imageview,然后您就可以轻松地为图像设置动画了。

    结构

    <FrameLayout
     //set the properties + must set clickable property  
    >
       <ImageView 
        // Set the required property 
       />
    </FrameLayout>
    

    然后在 .java 文件中设置单击框架布局的侦听器以及需要为 imageview 设置动画的位置

    在 anim 文件夹中创建动画 xml

    my_anim.xml

    <?xml version="1.0" encoding="utf-8"?>
    <rotate
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="360"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite" />
    

    然后在带有 imageview 的 .java 文件中调用它 像下面给出的图像的平滑旋转。

     Animation a = AnimationUtils.loadAnimation(getActivity(), R.anim.my_anim);
    
                a.setDuration(1000);
    
                myImageView.startAnimation(a);
    
    
                a.setInterpolator(new Interpolator() {
    
                    private final int frameCount = 50;
    
                    @Override
                    public float getInterpolation(float input) {
    
                        return (float) Math.floor(input * frameCount) / frameCount;
    
                    }
                });
    

    【讨论】:

    • 但是我如何像上图那样为图像设置动画,请给出它的示例代码
    • @KalpeshRajai 我已经编辑了我的答案,现在您了解它是如何工作的,您可以根据需要更改变量值。快乐的发展。 :)
    猜你喜欢
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多