Add animations for Bottom Navigation items (#5181)

* Animated icon for the Library tab

Co-Authored-By: CrepeTF <70870719+CrepeTF@users.noreply.github.com>

* Animated icon for the More tab

Co-Authored-By: CrepeTF <70870719+CrepeTF@users.noreply.github.com>

* Rename more_vert to overflow

Should maybe help any confusion together with the other more_horiz changes.

* Animated icon for the History tab

Co-Authored-By: CrepeTF <70870719+CrepeTF@users.noreply.github.com>

* Clarify names and clean files

* Animated icon for the Updates tab

* Animated icon for the Browse tab

* Recreate the animated icon for the History tab

History icons look better when the internal clock is not moving.

Co-authored-by: CrepeTF <70870719+CrepeTF@users.noreply.github.com>
This commit is contained in:
Soitora
2021-05-29 04:35:35 +02:00
committed by GitHub
parent c57d0046bc
commit aed6e12119
28 changed files with 938 additions and 24 deletions
@@ -0,0 +1,185 @@
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:drawable">
<vector
android:width="1080dp"
android:height="1080dp"
android:viewportWidth="1080"
android:viewportHeight="1080">
<group android:name="_R_G">
<group android:name="_R_G_L_3_G">
<path
android:name="_R_G_L_3_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c " />
</group>
<group
android:name="_R_G_L_2_G"
android:scaleY="0">
<path
android:name="_R_G_L_2_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.25 270.53 C180.25,270.53 90.27,270.53 90.27,270.53 C90.27,270.53 90.27,900.36 90.27,900.36 C90.27,949.85 130.76,990.33 180.25,990.33 C180.25,990.33 810.07,990.33 810.07,990.33 C810.07,990.33 810.07,900.36 810.07,900.36 C810.07,900.36 180.25,900.36 180.25,900.36 C180.25,900.36 180.25,270.53 180.25,270.53c " />
<path
android:name="_R_G_L_2_G_D_1_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c " />
</group>
<group
android:name="_R_G_L_1_G"
android:scaleY="0">
<path
android:name="_R_G_L_1_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.25 270.53 C180.25,270.53 90.27,270.53 90.27,270.53 C90.27,270.53 90.27,900.36 90.27,900.36 C90.27,949.85 130.76,990.33 180.25,990.33 C180.25,990.33 810.07,990.33 810.07,990.33 C810.07,990.33 810.07,900.36 810.07,900.36 C810.07,900.36 180.25,900.36 180.25,900.36 C180.25,900.36 180.25,270.53 180.25,270.53c " />
<path
android:name="_R_G_L_1_G_D_1_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M900.05 540.46 C900.05,540.46 781.58,472.43 781.58,472.43 C781.58,472.43 655.11,538.68 655.11,538.68 C655.11,538.68 655.11,178.78 655.11,178.78 C655.11,178.78 900.05,180.56 900.05,180.56 C900.05,180.56 900.05,540.46 900.05,540.46c " />
</group>
<group
android:name="_R_G_L_0_G"
android:scaleY="0">
<path
android:name="_R_G_L_0_G_D_0_P_0"
android:fillAlpha="1"
android:fillColor="#292929"
android:fillType="nonZero"
android:pathData=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 349.11,181.07 349.11,181.07 C349.11,181.07 349.11,733.42 349.11,733.42 C349.11,733.42 628,736.26 628,736.26 C628,736.26 911.08,733.42 911.08,733.42 C911.08,733.42 910.88,181.07 910.88,181.07 C910.88,181.07 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c " />
</group>
</group>
<group android:name="time_group" />
</vector>
</aapt:attr>
<target android:name="_R_G_L_3_G_D_0_P_0">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="33"
android:propertyName="pathData"
android:startOffset="0"
android:valueFrom=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueTo=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.91,0 0.67,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
<objectAnimator
android:duration="183"
android:propertyName="pathData"
android:startOffset="33"
android:valueFrom=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 585.11,180.76 585.11,180.76 C585.11,180.76 585.11,585.42 585.11,585.42 C585.11,585.42 720,484.26 720,484.26 C720,484.26 854.88,585.42 854.88,585.42 C854.88,585.42 854.88,180.76 854.88,180.76 C854.88,180.76 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueTo=" M180.45 270.69 C180.45,270.69 90.53,270.69 90.53,270.69 C90.53,270.69 90.53,900.15 90.53,900.15 C90.53,949.61 131,990.08 180.45,990.08 C180.45,990.08 809.92,990.08 809.92,990.08 C809.92,990.08 809.92,900.15 809.92,900.15 C809.92,900.15 180.45,900.15 180.45,900.15 C180.45,900.15 180.45,270.69 180.45,270.69c M899.84 90.84 C899.84,90.84 360.3,90.84 360.3,90.84 C310.84,90.84 270.38,131.3 270.38,180.76 C270.38,180.76 270.38,720.31 270.38,720.31 C270.38,769.76 310.84,810.23 360.3,810.23 C360.3,810.23 899.84,810.23 899.84,810.23 C949.3,810.23 989.77,769.76 989.77,720.31 C989.77,720.31 989.77,180.76 989.77,180.76 C989.77,131.3 949.3,90.84 899.84,90.84c M899.84 720.31 C899.84,720.31 360.3,720.31 360.3,720.31 C360.3,720.31 360.3,180.76 360.3,180.76 C360.3,180.76 349.11,181.07 349.11,181.07 C349.11,181.07 349.11,733.42 349.11,733.42 C349.11,733.42 628,736.26 628,736.26 C628,736.26 911.08,733.42 911.08,733.42 C911.08,733.42 910.88,181.07 910.88,181.07 C910.88,181.07 899.84,180.76 899.84,180.76 C899.84,180.76 899.84,720.31 899.84,720.31c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.91,0 0.67,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_3_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="0"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_3_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="217"
android:valueFrom="1"
android:valueTo="0"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_2_G_D_1_P_0">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="217"
android:propertyName="pathData"
android:startOffset="0"
android:valueFrom=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c "
android:valueTo=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.15,0 0.07,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
<objectAnimator
android:duration="267"
android:propertyName="pathData"
android:startOffset="217"
android:valueFrom=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M825.51 289.73 C825.51,289.73 789.04,224.2 789.04,224.2 C789.04,224.2 752.57,289.88 752.57,289.88 C752.57,289.88 755.11,181.78 755.11,181.78 C755.11,181.78 824.05,181.83 824.05,181.83 C824.05,181.83 825.51,289.73 825.51,289.73c "
android:valueTo=" M900.05 90.58 C900.05,90.58 360.2,90.58 360.2,90.58 C310.71,90.58 270.22,131.07 270.22,180.56 C270.22,180.56 270.22,720.41 270.22,720.41 C270.22,769.89 310.71,810.38 360.2,810.38 C360.2,810.38 900.05,810.38 900.05,810.38 C949.54,810.38 990.02,769.89 990.02,720.41 C990.02,720.41 990.02,180.56 990.02,180.56 C990.02,131.07 949.54,90.58 900.05,90.58c M900.05 540.46 C900.05,540.46 781.58,472.43 781.58,472.43 C781.58,472.43 655.11,538.68 655.11,538.68 C655.11,538.68 655.11,178.78 655.11,178.78 C655.11,178.78 900.05,180.56 900.05,180.56 C900.05,180.56 900.05,540.46 900.05,540.46c "
android:valueType="pathType">
<aapt:attr name="android:interpolator">
<pathInterpolator android:pathData="M 0.0,0.0 c0.15,0 0.07,1 1.0,1.0" />
</aapt:attr>
</objectAnimator>
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_2_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="217"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="_R_G_L_1_G">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="0"
android:propertyName="scaleY"
android:startOffset="817"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
<target android:name="time_group">
<aapt:attr name="android:animation">
<set android:ordering="together">
<objectAnimator
android:duration="817"
android:propertyName="translateX"
android:startOffset="0"
android:valueFrom="0"
android:valueTo="1"
android:valueType="floatType" />
</set>
</aapt:attr>
</target>
</animated-vector>