我是Android动画的新手,我想实现一个直线动画,它是android中编辑文本的底线。当焦点在电子邮件领域时,当焦点转到密码字段时,我想要android文本的底线编辑动画并进入密码field.as如下所示。我尝试使用路径动画,但我不知道如何使用圆形路径为路径动画中的线设置动画。请帮助。提前感谢。 < / p>
答案 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
如果此信息可以帮助您,请告诉我。