android动画:动画线

时间:2016-10-02 15:32:28

标签: android android-animation

我是Android动画的新手,我想实现一个直线动画,它是android中编辑文本的底线。当焦点在电子邮件领域时,当焦点转到密码字段时,我想要android文本的底线编辑动画并进入密码field.as如下所示。我尝试使用路径动画,但我不知道如何使用圆形路径为路径动画中的线设置动画。请帮助。提前感谢。enter image description here < / p>

2 个答案:

答案 0 :(得分:0)

也许这是使用Android-pathview动画https://github.com/geftimov/android-pathview

的Android Vector drawables的好方法

您将在一个布局中拥有登录名和密码,此可绘制动画将作为此布局的背景

答案 1 :(得分:0)

这些动画在android中使用基于矢量的drawables 实现。特别是SVG(可缩放矢量图形)。

这些只是一个包含路径数据的xml文件,然后您可以使用对象动画操作值来实现所需的动画。最后将它与另一个可绘制的xml连接。

以下是示例实现:

//示例xml矢量路径数据文件

    <?xml version="1.0" encoding="utf-8"?> 
<vector xmlns:android="http://schemas.android.com/apk/res/android" 
android:viewportWidth="170" 

android:viewportHeight="170" 

android:width="500dp" 

android:height="500dp"> <path 

android:name="head" 

android:fillColor="@color/

android_green" 

android:pathData="M85,40 c10,0 20,0 30,0 c0,-5 -10,-20 -30,-20 c-20,0 -30,15 -30,20 c10,0 20,0 30,0"/>
 </vector>

//示例对象动画文件

    <?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<objectAnimator android:duration="@integer/morphing_time" 

android:propertyName="pathData" 

android:valueType="pathType" 

android:valueFrom="M85,40 c10,0 20,0 30,0 c0,-5 -10,-20 -30,-20 c-20,0 -30,15 -30,20 c10,0 20,0 30,0" 

android:valueTo="M108,35 c5.587379,-6.7633 9.348007,-16.178439 8.322067,-25.546439 c-8.053787,0.32369 -17.792625,5.36682 -23.569427,12.126399 c-5.177124,5.985922 -9.711121,15.566772 -8.48777,24.749359 c8.976891,0.69453 18.147476,-4.561718 23.73513,-11.329308"/> 

<objectAnimator 

android:duration="@integer/morphing_time" 

android:propertyName="fillColor" 

android:valueFrom="@color/

android_green" 

android:valueTo="@color/apple_black" />
 </set>

//现在在drawables文件夹中将其设置为动画

 <?xml version="1.0" encoding="utf-8"?> <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" 

android:drawable="@drawable/

android_logo_vector_morphable"> 

<target android:animation="@animator/head_leaf_transition" 

android:name="head"/> 
</animated-vector>

来源: Lewis Mac Geary

如果此信息可以帮助您,请告诉我。