{"id":1089,"date":"2015-12-23T18:10:10","date_gmt":"2015-12-23T10:10:10","guid":{"rendered":"https:\/\/ai.zhousir.top\/?p=1089"},"modified":"2026-08-15T17:04:16","modified_gmt":"2026-08-15T09:04:16","slug":"android%e5%b1%9e%e6%80%a7%e5%8a%a8%e7%94%bb%e5%ae%8c%e5%85%a8%e8%a7%a3%e6%9e%90%e4%b8%8b%ef%bc%8cinterpolator%e5%92%8cviewpropertyanimator%e7%9a%84%e7%94%a8%e6%b3%95","status":"publish","type":"post","link":"https:\/\/ai.zhousir.top\/?p=1089","title":{"rendered":"Android\u5c5e\u6027\u52a8\u753b\u5b8c\u5168\u89e3\u6790(\u4e0b)\uff0cInterpolator\u548cViewPropertyAnimator\u7684\u7528\u6cd5"},"content":{"rendered":"<p><a href=\"https:\/\/ai.zhousir.top\/wp-content\/uploads\/2024\/05\/image.png\" rel=\"fancybox\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-3498\" src=\"https:\/\/ai.zhousir.top\/wp-content\/uploads\/2024\/05\/image.png\" alt=\"\" width=\"2151\" height=\"1105\" srcset=\"https:\/\/ai.zhousir.top\/wp-content\/uploads\/2024\/05\/image.png 2151w, https:\/\/ai.zhousir.top\/wp-content\/uploads\/2024\/05\/image-768x395.png 768w, https:\/\/ai.zhousir.top\/wp-content\/uploads\/2024\/05\/image-1536x789.png 1536w, https:\/\/ai.zhousir.top\/wp-content\/uploads\/2024\/05\/image-2048x1052.png 2048w\" sizes=\"(max-width: 2151px) 100vw, 2151px\" \/><\/a><\/p>\n<p>\u5927\u5bb6\u597d\uff0c\u6b22\u8fce\u7ee7\u7eed\u56de\u5230Android\u5c5e\u6027\u52a8\u753b\u5b8c\u5168\u89e3\u6790\u3002\u5728\u4e0a\u4e00\u7bc7\u6587\u7ae0\u5f53\u4e2d\u6211\u4eec\u5b66\u4e60\u4e86\u5c5e\u6027\u52a8\u753b\u7684\u4e00\u4e9b\u8fdb\u9636\u6280\u5de7\uff0c\u5305\u62ecValueAnimator\u548cObjectAnimator\u7684\u9ad8\u7ea7\u7528\u6cd5\uff0c\u90a3\u4e48\u9664\u4e86\u8fd9\u4e9b\u4e4b\u5916\uff0c\u5f53\u7136\u8fd8\u6709\u4e00\u4e9b\u5176\u5b83\u7684\u9ad8\u7ea7\u6280\u5de7\u5728\u7b49\u7740\u6211<!--more-->\u4eec\u5b66\u4e60\uff0c\u56e0\u6b64\u672c\u7bc7\u6587\u7ae0\u5c31\u5bf9\u6574\u4e2a\u5c5e\u6027\u52a8\u753b\u5b8c\u5168\u89e3\u6790\u7cfb\u5217\u6536\u4e2a\u5c3e\uff0c\u6765\u5b66\u4e60\u4e00\u4e0b\u5269\u4e0b\u7684\u975e\u5e38\u91cd\u8981\u7684\u9ad8\u7ea7\u6280\u5de7\u3002<\/p>\n<p>\u53e6\u5916\uff0c\u672c\u7bc7\u6587\u7ae0\u4e2d\u4f7f\u7528\u7684\u4ee3\u7801\u662f\u5efa\u7acb\u5728\u4e0a\u7bc7\u6587\u7ae0\u57fa\u7840\u4e4b\u4e0a\u7684\uff0c\u5982\u679c\u4f60\u8fd8\u6ca1\u6709\u9605\u8bfb\u8fc7\u524d\u9762\u7684\u6587\u7ae0\uff0c\u5efa\u8bae\u5148\u53bb\u53c2\u8003\u9605\u8bfb\u4e00\u4e0b\u00a0<a title=\"Android\u5c5e\u6027\u52a8\u753b\u5b8c\u5168\u89e3\u6790(\u4e2d)\uff0cValueAnimator\u548cObjectAnimator\u7684\u9ad8\u7ea7\u7528\u6cd5\" href=\"https:\/\/ai.zhousir.top\/?p=1087\"><strong>Android\u5c5e\u6027\u52a8\u753b\u5b8c\u5168\u89e3\u6790(\u4e2d)\uff0cValueAnimator\u548cObjectAnimator\u7684\u9ad8\u7ea7\u7528\u6cd5<\/strong>\u00a0<\/a>\u3002<\/p>\n<h2><a name=\"t0\"><\/a>Interpolator\u7684\u7528\u6cd5<\/h2>\n<p>Interpolator\u8fd9\u4e2a\u4e1c\u897f\u5f88\u96be\u8fdb\u884c\u7ffb\u8bd1\uff0c\u76f4\u8bd1\u8fc7\u6765\u7684\u8bdd\u662f\u8865\u95f4\u5668\u7684\u610f\u601d\uff0c\u5b83\u7684\u4e3b\u8981\u4f5c\u7528\u662f\u53ef\u4ee5\u63a7\u5236\u52a8\u753b\u7684\u53d8\u5316\u901f\u7387\uff0c\u6bd4\u5982\u53bb\u5b9e\u73b0\u4e00\u79cd\u975e\u7ebf\u6027\u8fd0\u52a8\u7684\u52a8\u753b\u6548\u679c\u3002\u90a3\u4e48\u4ec0\u4e48\u53eb\u505a\u975e\u7ebf\u6027\u8fd0\u52a8\u7684\u52a8\u753b\u6548\u679c\u5462\uff1f\u5c31\u662f\u8bf4\u52a8\u753b\u6539\u53d8\u7684\u901f\u7387\u4e0d\u662f\u4e00\u6210\u4e0d\u53d8\u7684\uff0c\u50cf\u52a0\u901f\u8fd0\u52a8\u4ee5\u53ca\u51cf\u901f\u8fd0\u52a8\u90fd\u5c5e\u4e8e\u975e\u7ebf\u6027\u8fd0\u52a8\u3002<\/p>\n<p>\u4e0d\u8fc7Interpolator\u5e76\u4e0d\u662f\u5c5e\u6027\u52a8\u753b\u4e2d\u65b0\u589e\u7684\u6280\u672f\uff0c\u5b9e\u9645\u4e0a\u4eceAndroid 1.0\u7248\u672c\u5f00\u59cb\u5c31\u4e00\u76f4\u5b58\u5728Interpolator\u63a5\u53e3\u4e86\uff0c\u800c\u4e4b\u524d\u7684\u8865\u95f4\u52a8\u753b\u5f53\u7136\u4e5f\u662f\u652f\u6301\u8fd9\u4e2a\u529f\u80fd\u7684\u3002\u53ea\u4e0d\u8fc7\u5728\u5c5e\u6027\u52a8\u753b\u4e2d\u65b0\u589e\u4e86\u4e00\u4e2aTimeInterpolator\u63a5\u53e3\uff0c\u8fd9\u4e2a\u63a5\u53e3\u662f\u7528\u4e8e\u517c\u5bb9\u4e4b\u524d\u7684Interpolator\u7684\uff0c\u8fd9\u4f7f\u5f97\u6240\u6709\u8fc7\u53bb\u7684Interpolator\u5b9e\u73b0\u7c7b\u90fd\u53ef\u4ee5\u76f4\u63a5\u62ff\u8fc7\u6765\u653e\u5230\u5c5e\u6027\u52a8\u753b\u5f53\u4e2d\u4f7f\u7528\uff0c\u90a3\u4e48\u6211\u4eec\u6765\u770b\u4e00\u4e0b\u73b0\u5728TimeInterpolator\u63a5\u53e3\u7684\u6240\u6709\u5b9e\u73b0\u7c7b\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/ww2.sinaimg.cn\/mw690\/b254dc71gw1evfu7pq2zkj20iz06fjtd.jpg\" alt=\"\" \/><\/p>\n<p>\u53ef\u4ee5\u770b\u5230\uff0cTimeInterpolator\u63a5\u53e3\u5df2\u7ecf\u6709\u975e\u5e38\u591a\u7684\u5b9e\u73b0\u7c7b\u4e86\uff0c\u8fd9\u4e9b\u90fd\u662fAndroid\u7cfb\u7edf\u5185\u7f6e\u597d\u7684\u5e76\u4e14\u6211\u4eec\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7684Interpolator\u3002\u6bcf\u4e2aInterpolator\u90fd\u6709\u5b83\u5404\u81ea\u7684\u5b9e\u73b0\u6548\u679c\uff0c\u6bd4\u5982\u8bf4AccelerateInterpolator\u5c31\u662f\u4e00\u4e2a\u52a0\u901f\u8fd0\u52a8\u7684Interpolator\uff0c\u800cDecelerateInterpolator\u5c31\u662f\u4e00\u4e2a\u51cf\u901f\u8fd0\u52a8\u7684Interpolator\u3002<\/p>\n<p>\u6211\u89c9\u5f97\u7ec6\u5fc3\u7684\u670b\u53cb\u5e94\u8be5\u65e9\u5df2\u7ecf\u53d1\u73b0\u4e86\uff0c\u5728\u524d\u9762\u4e24\u7bc7\u6587\u7ae0\u5f53\u4e2d\u6211\u4eec\u6240\u5b66\u5230\u7684\u6240\u6709\u5c5e\u6027\u52a8\u753b\uff0c\u5176\u5b9e\u90fd\u4e0d\u662f\u5728\u8fdb\u884c\u4e00\u79cd\u7ebf\u7a0b\u8fd0\u52a8\u3002\u6bd4\u5982\u8bf4\u5728\u201c\u4e0a\u201d\u7bc7\u6587\u7ae0\u4e2d\u4f7f\u7528ValueAnimator\u6240\u6253\u5370\u7684\u503c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/ww4.sinaimg.cn\/mw690\/b254dc71gw1evfu7q3302j206m0bsq4k.jpg\" alt=\"\" \/><\/p>\n<p>\u53ef\u4ee5\u770b\u5230\uff0c\u4e00\u5f00\u59cb\u7684\u503c\u53d8\u5316\u901f\u5ea6\u660e\u663e\u6bd4\u8f83\u6162\uff0c\u4ec50.0\u5f00\u5934\u7684\u5c31\u6253\u5370\u4e864\u6b21\uff0c\u4e4b\u540e\u5f00\u59cb\u52a0\u901f\uff0c\u6700\u540e\u9636\u6bb5\u53c8\u5f00\u59cb\u51cf\u901f\uff0c\u56e0\u6b64\u6211\u4eec\u53ef\u4ee5\u5f88\u660e\u663e\u5730\u770b\u51fa\u8fd9\u4e00\u4e2a\u5148\u52a0\u901f\u540e\u51cf\u901f\u7684Interpolator\u3002<\/p>\n<p>\u90a3\u4e48\u518d\u6765\u770b\u4e00\u4e0b\u5728\u201c\u4e2d\u201d\u7bc7\u6587\u7ae0\u4e2d\u5b8c\u6210\u7684\u5c0f\u7403\u79fb\u52a8\u52a0\u53d8\u8272\u7684\u529f\u80fd\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/ww1.sinaimg.cn\/mw690\/b254dc71gw1evftwhhbsfg20850ditbr.gif\" alt=\"\" \/><\/p>\n<p>\u4ece\u4e0a\u56fe\u4e2d\u6211\u4eec\u660e\u663e\u53ef\u4ee5\u770b\u51fa\uff0c\u5c0f\u7403\u4e00\u5f00\u59cb\u8fd0\u52a8\u901f\u5ea6\u6bd4\u8f83\u6162\uff0c\u7136\u540e\u9010\u6e10\u52a0\u901f\uff0c\u4e2d\u95f4\u7684\u90e8\u5206\u8fd0\u52a8\u901f\u5ea6\u5c31\u6bd4\u8f83\u5feb\uff0c\u63a5\u4e0b\u6765\u5f00\u59cb\u51cf\u901f\uff0c\u6700\u540e\u7f13\u7f13\u505c\u4f4f\u3002\u53e6\u5916\u989c\u8272\u53d8\u5316\u4e5f\u662f\u8fd9\u79cd\u89c4\u5f8b\uff0c\u4e00\u5f00\u59cb\u989c\u8272\u53d8\u5316\u7684\u6bd4\u8f83\u6162\uff0c\u4e2d\u95f4\u989c\u8272\u53d8\u5316\u7684\u5f88\u5feb\uff0c\u6700\u540e\u9636\u6bb5\u989c\u8272\u53d8\u5316\u7684\u53c8\u6bd4\u8f83\u6162\u3002<\/p>\n<p>\u4ece\u4ee5\u4e0a\u51e0\u70b9\u6211\u4eec\u5c31\u53ef\u4ee5\u603b\u7ed3\u51fa\u4e00\u4e2a\u7ed3\u8bba\u4e86\uff0c\u4f7f\u7528\u5c5e\u6027\u52a8\u753b\u65f6\uff0c\u7cfb\u7edf\u9ed8\u8ba4\u7684Interpolator\u5176\u5b9e\u5c31\u662f\u4e00\u4e2a\u5148\u52a0\u901f\u540e\u51cf\u901f\u7684Interpolator\uff0c\u5bf9\u5e94\u7684\u5b9e\u73b0\u7c7b\u5c31\u662fAccelerateDecelerateInterpolator\u3002<\/p>\n<p>\u5f53\u7136\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5\u5f88\u8f7b\u677e\u5730\u4fee\u6539\u8fd9\u4e00\u9ed8\u8ba4\u5c5e\u6027\uff0c\u5c06\u5b83\u66ff\u6362\u6210\u4efb\u610f\u4e00\u4e2a\u7cfb\u7edf\u5185\u7f6e\u597d\u7684Interpolator\u3002\u5c31\u62ff\u201c\u4e2d\u201d\u7bc7\u6587\u7ae0\u4e2d\u7684\u4ee3\u7801\u6765\u4e3e\u4f8b\u5427\uff0cMyAnimView\u4e2d\u7684startAnimation()\u65b9\u6cd5\u662f\u5f00\u542f\u52a8\u753b\u6548\u679c\u7684\u5165\u53e3\uff0c\u8fd9\u91cc\u6211\u4eec\u5bf9Point\u5bf9\u8c61\u7684\u5750\u6807\u7a0d\u505a\u4e00\u4e0b\u4fee\u6539\uff0c\u8ba9\u5b83\u53d8\u6210\u4e00\u79cd\u5782\u76f4\u6389\u843d\u7684\u6548\u679c\uff0c\u4ee3\u7801\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402da9b9444190601\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"\u70b9\u51fb\u5c55\u5f00\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9b9444190601-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9b9444190601-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9b9444190601-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9b9444190601-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9b9444190601-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9b9444190601-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9b9444190601-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9b9444190601-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9b9444190601-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9b9444190601-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9b9444190601-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9b9444190601-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9b9444190601-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9b9444190601-14\">14<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9b9444190601-1\" class=\"crayon-line\"><span class=\"crayon-m\">private<\/span> <span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">startAnimation<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">Point <\/span><span class=\"crayon-v\">startPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">Point<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">getWidth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">RADIUS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-3\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">Point <\/span><span class=\"crayon-v\">endPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">Point<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">getWidth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">getHeight<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">&#8211;<\/span> <span class=\"crayon-v\">RADIUS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">ValueAnimator <\/span><span class=\"crayon-v\">anim<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">ValueAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">ofObject<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">PointEvaluator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">startPoint<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">endPoint<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">addUpdateListener<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-v\">ValueAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">AnimatorUpdateListener<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-n\">@Override<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-7\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">onAnimationUpdate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValueAnimator <\/span><span class=\"crayon-v\">animation<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">currentPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Point<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-v\">animation<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">getAnimatedValue<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-9\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">invalidate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setDuration<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">2000<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-13\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">start<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9b9444190601-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u8fd9\u91cc\u4e3b\u8981\u662f\u5bf9Point\u6784\u9020\u51fd\u6570\u4e2d\u7684\u5750\u6807\u503c\u8fdb\u884c\u4e86\u4e00\u4e0b\u6539\u52a8\uff0c\u90a3\u4e48\u73b0\u5728\u5c0f\u7403\u8fd0\u52a8\u7684\u52a8\u753b\u6548\u679c\u5e94\u8be5\u662f\u4ece\u5c4f\u5e55\u6b63\u4e2d\u592e\u7684\u9876\u90e8\u6389\u843d\u5230\u5e95\u90e8\u3002\u4f46\u662f\u73b0\u5728\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5c0f\u7403\u7684\u4e0b\u964d\u901f\u5ea6\u80af\u5b9a\u662f\u5148\u52a0\u901f\u540e\u51cf\u901f\u7684\uff0c\u8fd9\u4e0d\u7b26\u5408\u7269\u7406\u7684\u5e38\u8bc6\u89c4\u5f8b\uff0c\u5982\u679c\u628a\u5c0f\u7403\u89c6\u4e3a\u4e00\u4e2a\u81ea\u7531\u843d\u4f53\u7684\u8bdd\uff0c\u90a3\u4e48\u4e0b\u964d\u7684\u901f\u5ea6\u5e94\u8be5\u662f\u8d8a\u6765\u8d8a\u5feb\u7684\u3002\u6211\u4eec\u600e\u6837\u624d\u80fd\u6539\u53d8\u8fd9\u4e00\u9ed8\u8ba4\u884c\u4e3a\u5462\uff1f\u5176\u5b9e\u5f88\u7b80\u5355\uff0c\u8c03\u7528Animator\u7684setInterpolator()\u65b9\u6cd5\u5c31\u53ef\u4ee5\u4e86\uff0c\u8fd9\u4e2a\u65b9\u6cd5\u8981\u6c42\u4f20\u5165\u4e00\u4e2a\u5b9e\u73b0TimeInterpolator\u63a5\u53e3\u7684\u5b9e\u4f8b\uff0c\u90a3\u4e48\u6bd4\u5982\u8bf4\u6211\u4eec\u60f3\u8981\u5b9e\u73b0\u5c0f\u7403\u4e0b\u964d\u8d8a\u6765\u8d8a\u5feb\u7684\u6548\u679c\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528AccelerateInterpolator\uff0c\u4ee3\u7801\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402da9c5508271815\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"\u70b9\u51fb\u5c55\u5f00\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9c5508271815-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9c5508271815-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9c5508271815-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9c5508271815-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9c5508271815-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9c5508271815-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9c5508271815-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9c5508271815-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9c5508271815-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9c5508271815-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9c5508271815-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9c5508271815-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9c5508271815-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9c5508271815-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9c5508271815-15\">15<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9c5508271815-1\" class=\"crayon-line\"><span class=\"crayon-m\">private<\/span> <span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">startAnimation<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">Point <\/span><span class=\"crayon-v\">startPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">Point<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">getWidth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">RADIUS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-3\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">Point <\/span><span class=\"crayon-v\">endPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">Point<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">getWidth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">getHeight<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">&#8211;<\/span> <span class=\"crayon-v\">RADIUS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">ValueAnimator <\/span><span class=\"crayon-v\">anim<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">ValueAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">ofObject<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">PointEvaluator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">startPoint<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">endPoint<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">addUpdateListener<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-v\">ValueAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">AnimatorUpdateListener<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-n\">@Override<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-7\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">onAnimationUpdate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValueAnimator <\/span><span class=\"crayon-v\">animation<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">currentPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Point<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-v\">animation<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">getAnimatedValue<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-9\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">invalidate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">AccelerateInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">2f<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-13\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setDuration<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">2500<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">start<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9c5508271815-15\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u4ee3\u7801\u5f88\u7b80\u5355\uff0c\u8fd9\u91cc\u8c03\u7528\u4e86setInterpolator()\u65b9\u6cd5\uff0c\u7136\u540e\u4f20\u5165\u4e86\u4e00\u4e2aAccelerateInterpolator\u7684\u5b9e\u4f8b\uff0c\u6ce8\u610fAccelerateInterpolator\u7684\u6784\u5efa\u51fd\u6570\u53ef\u4ee5\u63a5\u6536\u4e00\u4e2afloat\u7c7b\u578b\u7684\u53c2\u6570\uff0c\u8fd9\u4e2a\u53c2\u6570\u662f\u7528\u4e8e\u63a7\u5236\u52a0\u901f\u5ea6\u7684\u3002\u73b0\u5728\u8fd0\u884c\u4e00\u4e0b\u4ee3\u7801\uff0c\u6548\u679c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/ww1.sinaimg.cn\/mw690\/b254dc71gw1evfu7rdb29g208d0elmyk.gif\" alt=\"\" \/><\/p>\n<p>OK\uff0c\u6548\u679c\u975e\u5e38\u660e\u663e\uff0c\u8bf4\u660e\u6211\u4eec\u5df2\u7ecf\u6210\u529f\u66ff\u6362\u6389\u4e86\u9ed8\u8ba4\u7684Interpolator\uff0cAccelerateInterpolator\u786e\u5b9e\u662f\u751f\u6548\u4e86\u3002\u4f46\u662f\u73b0\u5728\u7684\u52a8\u753b\u6548\u679c\u770b\u4e0a\u53bb\u4ecd\u7136\u662f\u602a\u602a\u7684\uff0c\u56e0\u4e3a\u4e00\u4e2a\u5c0f\u7403\u4ece\u5f88\u9ad8\u7684\u5730\u65b9\u6389\u843d\u5230\u5730\u9762\u4e0a\u76f4\u63a5\u5c31\u9759\u6b62\u4e86\uff0c\u8fd9\u4e5f\u662f\u4e0d\u7b26\u5408\u7269\u7406\u89c4\u5f8b\u7684\uff0c\u5c0f\u7403\u649e\u51fb\u5230\u5730\u9762\u4e4b\u540e\u5e94\u8be5\u8981\u53cd\u5f39\u8d77\u6765\uff0c\u7136\u540e\u518d\u6b21\u843d\u4e0b\uff0c\u63a5\u7740\u518d\u53cd\u5f39\u8d77\u6765\uff0c\u53c8\u518d\u6b21\u843d\u4e0b\uff0c\u4ee5\u6b64\u53cd\u590d\uff0c\u6700\u540e\u9759\u6b62\u3002\u8fd9\u4e2a\u529f\u80fd\u6211\u4eec\u5f53\u7136\u53ef\u4ee5\u81ea\u5df1\u53bb\u5199\uff0c\u53ea\u4e0d\u8fc7\u6bd4\u8f83\u590d\u6742\uff0c\u6240\u5e78\u7684\u662f\uff0cAndroid\u7cfb\u7edf\u4e2d\u5df2\u7ecf\u63d0\u4f9b\u597d\u4e86\u8fd9\u6837\u4e00\u79cdInterpolator\uff0c\u6211\u4eec\u53ea\u9700\u8981\u7b80\u5355\u5730\u66ff\u6362\u4e00\u4e0b\u5c31\u53ef\u4ee5\u5b8c\u6210\u4e0a\u9762\u7684\u63cf\u8ff0\u7684\u6548\u679c\uff0c\u4ee3\u7801\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402da9cb069783168\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"\u70b9\u51fb\u5c55\u5f00\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9cb069783168-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9cb069783168-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9cb069783168-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9cb069783168-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9cb069783168-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9cb069783168-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9cb069783168-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9cb069783168-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9cb069783168-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9cb069783168-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9cb069783168-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9cb069783168-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9cb069783168-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9cb069783168-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9cb069783168-15\">15<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9cb069783168-1\" class=\"crayon-line\"><span class=\"crayon-m\">private<\/span> <span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">startAnimation<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">Point <\/span><span class=\"crayon-v\">startPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">Point<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">getWidth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">RADIUS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-3\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">Point <\/span><span class=\"crayon-v\">endPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">Point<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">getWidth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">getHeight<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">&#8211;<\/span> <span class=\"crayon-v\">RADIUS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">ValueAnimator <\/span><span class=\"crayon-v\">anim<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">ValueAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">ofObject<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">PointEvaluator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">startPoint<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">endPoint<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">addUpdateListener<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-v\">ValueAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">AnimatorUpdateListener<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-n\">@Override<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-7\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">onAnimationUpdate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValueAnimator <\/span><span class=\"crayon-v\">animation<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">currentPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Point<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-v\">animation<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">getAnimatedValue<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-9\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">invalidate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">BounceInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-13\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setDuration<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">3000<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">start<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9cb069783168-15\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u53ef\u4ee5\u770b\u5230\uff0c\u6211\u4eec\u53ea\u662f\u5c06\u8bbe\u7f6e\u7684Interpolator\u6362\u6210\u4e86BounceInterpolator\u7684\u5b9e\u4f8b\uff0c\u800cBounceInterpolator\u5c31\u662f\u4e00\u79cd\u53ef\u4ee5\u6a21\u62df\u7269\u7406\u89c4\u5f8b\uff0c\u5b9e\u73b0\u53cd\u590d\u5f39\u8d77\u6548\u679c\u7684Interpolator\u3002\u53e6\u5916\u8fd8\u5c06\u6574\u4f53\u7684\u52a8\u753b\u65f6\u95f4\u7a0d\u5fae\u5ef6\u957f\u4e86\u4e00\u70b9\uff0c\u56e0\u4e3a\u5c0f\u7403\u53cd\u590d\u5f39\u8d77\u9700\u8981\u6bd4\u4e4b\u524d\u66f4\u957f\u7684\u65f6\u95f4\u3002\u73b0\u5728\u91cd\u65b0\u8fd0\u884c\u4e00\u4e0b\u4ee3\u7801\uff0c\u6548\u679c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/ww2.sinaimg.cn\/mw690\/b254dc71gw1evfu7rv4f4g208d0ejac1.gif\" alt=\"\" \/><\/p>\n<p>OK\uff01\u6548\u679c\u8fd8\u662f\u975e\u5e38\u4e0d\u9519\u7684\u3002\u90a3\u4e48\u8fd9\u91cc\u6211\u4eec\u53ea\u662f\u9009\u4e86\u51e0\u4e2a\u7cfb\u7edf\u5b9e\u73b0\u597d\u7684Interpolator\uff0c\u7531\u4e8e\u5185\u7f6eInterpolator\u975e\u5e38\u591a\uff0c\u5c31\u4e0d\u4e00\u4e00\u8fdb\u884c\u8bb2\u89e3\u4e86\uff0c\u5927\u5bb6\u53ef\u4ee5\u81ea\u5df1\u53bb\u4f7f\u7528\u4e00\u4e0b\u5176\u5b83\u7684\u51e0\u79cdInterpolator\u6765\u770b\u4e00\u770b\u6548\u679c\u3002<\/p>\n<p>\u4f46\u662f\uff0c\u53ea\u4f1a\u7528\u4e00\u4e0b\u7cfb\u7edf\u63d0\u4f9b\u597d\u7684Interpolator\uff0c\u6211\u4eec\u663e\u7136\u5bf9\u81ea\u5df1\u7684\u8981\u6c42\u5c31\u592a\u4f4e\u4e86\uff0c\u65e2\u7136\u662f\u5b66\u4e60\u5c5e\u6027\u52a8\u753b\u7684\u9ad8\u7ea7\u7528\u6cd5\uff0c\u90a3\u4e48\u81ea\u7136\u8981\u5c06\u5b83\u7814\u7a76\u900f\u4e86\u3002\u4e0b\u9762\u6211\u4eec\u5c31\u6765\u770b\u4e00\u4e0bInterpolator\u7684\u5185\u90e8\u5b9e\u73b0\u673a\u5236\u662f\u4ec0\u4e48\u6837\u7684\uff0c\u5e76\u4e14\u6765\u5c1d\u8bd5\u5199\u4e00\u4e2a\u81ea\u5b9a\u4e49\u7684Interpolator\u3002<\/p>\n<p>\u9996\u5148\u770b\u4e00\u4e0bTimeInterpolator\u7684\u63a5\u53e3\u5b9a\u4e49\uff0c\u4ee3\u7801\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402da9d0591379406\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"\u70b9\u51fb\u5c55\u5f00\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d0591379406-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d0591379406-20\">20<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9d0591379406-1\" class=\"crayon-line\"><span class=\"crayon-c\">\/**<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\"> * A time interpolator defines the rate of change of an animation. This allows animations<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-3\" class=\"crayon-line\"><span class=\"crayon-c\"> * to have non-linear motion, such as acceleration and deceleration.<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\"> *\/<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-5\" class=\"crayon-line\"><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">interface<\/span> <span class=\"crayon-e\">TimeInterpolator<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-6\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5679e402da9d0591379406-7\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/**<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 * Maps a value representing the elapsed fraction of an animation to a value that represents<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-9\" class=\"crayon-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 * the interpolated fraction. This interpolated value is then multiplied by the change in<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 * value of an animation to derive the animated value at the current elapsed animation time.<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-11\" class=\"crayon-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 *<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 * @param input A value between 0 and 1.0 indicating our current point<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-13\" class=\"crayon-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 *\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0in the animation where 0 represents the start and 1.0 represents<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 *\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0the end<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-15\" class=\"crayon-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 * @return The interpolation value. This value can be more than 1.0 for<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-16\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 *\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 interpolators which overshoot their targets, or less than 0 for<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-17\" class=\"crayon-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 *\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 interpolators that undershoot their targets.<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-18\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\">\u00a0\u00a0\u00a0\u00a0 *\/<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-19\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-t\">float<\/span> <span class=\"crayon-e\">getInterpolation<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">float<\/span> <span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9d0591379406-20\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>OK\uff0c\u63a5\u53e3\u8fd8\u662f\u975e\u5e38\u7b80\u5355\u7684\uff0c\u53ea\u6709\u4e00\u4e2agetInterpolation()\u65b9\u6cd5\u3002\u5927\u5bb6\u6709\u5174\u8da3\u53ef\u4ee5\u901a\u8fc7\u6ce8\u91ca\u6765\u5bf9\u8fd9\u4e2a\u63a5\u53e3\u8fdb\u884c\u8be6\u89e3\u7684\u4e86\u89e3\uff0c\u8fd9\u91cc\u6211\u5c31\u7b80\u5355\u89e3\u91ca\u4e00\u4e0b\uff0cgetInterpolation()\u65b9\u6cd5\u4e2d\u63a5\u6536\u4e00\u4e2ainput\u53c2\u6570\uff0c\u8fd9\u4e2a\u53c2\u6570\u7684\u503c\u4f1a\u968f\u7740\u52a8\u753b\u7684\u8fd0\u884c\u800c\u4e0d\u65ad\u53d8\u5316\uff0c\u4e0d\u8fc7\u5b83\u7684\u53d8\u5316\u662f\u975e\u5e38\u6709\u89c4\u5f8b\u7684\uff0c\u5c31\u662f\u6839\u636e\u8bbe\u5b9a\u7684\u52a8\u753b\u65f6\u957f\u5300\u901f\u589e\u52a0\uff0c\u53d8\u5316\u8303\u56f4\u662f0\u52301\u3002\u4e5f\u5c31\u662f\u8bf4\u5f53\u52a8\u753b\u4e00\u5f00\u59cb\u7684\u65f6\u5019input\u7684\u503c\u662f0\uff0c\u5230\u52a8\u753b\u7ed3\u675f\u7684\u65f6\u5019input\u7684\u503c\u662f1\uff0c\u800c\u4e2d\u95f4\u7684\u503c\u5219\u662f\u968f\u7740\u52a8\u753b\u8fd0\u884c\u7684\u65f6\u957f\u57280\u52301\u4e4b\u95f4\u53d8\u5316\u7684\u3002<\/p>\n<p>\u8bf4\u5230\u8fd9\u4e2ainput\u7684\u503c\uff0c\u6211\u89c9\u5f97\u6709\u4e0d\u5c11\u670b\u53cb\u53ef\u80fd\u4f1a\u8054\u60f3\u5230\u6211\u4eec\u5728\u201c\u4e2d\u201d\u7bc7\u6587\u7ae0\u4e2d\u4f7f\u7528\u8fc7\u7684fraction\u503c\u3002\u90a3\u4e48\u8fd9\u91cc\u7684input\u548cfraction\u6709\u4ec0\u4e48\u5173\u7cfb\u6216\u8005\u533a\u522b\u5462\uff1f\u7b54\u6848\u5f88\u7b80\u5355\uff0cinput\u7684\u503c\u51b3\u5b9a\u4e86fraction\u7684\u503c\u3002input\u7684\u503c\u662f\u7531\u7cfb\u7edf\u7ecf\u8fc7\u8ba1\u7b97\u540e\u4f20\u5165\u5230getInterpolation()\u65b9\u6cd5\u4e2d\u7684\uff0c\u7136\u540e\u6211\u4eec\u53ef\u4ee5\u81ea\u5df1\u5b9e\u73b0getInterpolation()\u65b9\u6cd5\u4e2d\u7684\u7b97\u6cd5\uff0c\u6839\u636einput\u7684\u503c\u6765\u8ba1\u7b97\u51fa\u4e00\u4e2a\u8fd4\u56de\u503c\uff0c\u800c\u8fd9\u4e2a\u8fd4\u56de\u503c\u5c31\u662ffraction\u4e86\u3002<\/p>\n<p>\u56e0\u6b64\uff0c\u6700\u7b80\u5355\u7684\u60c5\u51b5\u5c31\u662finput\u503c\u548cfraction\u503c\u662f\u76f8\u540c\u7684\uff0c\u8fd9\u79cd\u60c5\u51b5\u7531\u4e8einput\u503c\u662f\u5300\u901f\u589e\u52a0\u7684\uff0c\u56e0\u800cfraction\u7684\u503c\u4e5f\u662f\u5300\u901f\u589e\u52a0\u7684\uff0c\u6240\u4ee5\u52a8\u753b\u7684\u8fd0\u52a8\u60c5\u51b5\u4e5f\u662f\u5300\u901f\u7684\u3002\u7cfb\u7edf\u4e2d\u5185\u7f6e\u7684LinearInterpolator\u5c31\u662f\u4e00\u79cd\u5300\u901f\u8fd0\u52a8\u7684Interpolator\uff0c\u90a3\u4e48\u6211\u4eec\u6765\u770b\u4e00\u4e0b\u5b83\u7684\u6e90\u7801\u662f\u600e\u4e48\u5b9e\u73b0\u7684\uff1a<\/p>\n<div id=\"crayon-5679e402da9d5860332749\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"\u70b9\u51fb\u5c55\u5f00\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9d5860332749-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9d5860332749-22\">22<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9d5860332749-1\" class=\"crayon-line\"><span class=\"crayon-c\">\/**<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\"> * An interpolator where the rate of change is constant<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-3\" class=\"crayon-line\"><span class=\"crayon-c\"> *\/<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-n\">@HasNativeInterpolator<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-5\" class=\"crayon-line\"><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">class<\/span> <span class=\"crayon-e\">LinearInterpolator<\/span> <span class=\"crayon-r\">extends<\/span> <span class=\"crayon-e\">BaseInterpolator<\/span> <span class=\"crayon-r\">implements<\/span> <span class=\"crayon-e\">NativeInterpolatorFactory<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-6\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5679e402da9d5860332749-7\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-e\">LinearInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-9\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-5679e402da9d5860332749-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-e\">LinearInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">Context <\/span><span class=\"crayon-v\">context<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">AttributeSet <\/span><span class=\"crayon-v\">attrs<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-12\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5679e402da9d5860332749-13\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">float<\/span> <span class=\"crayon-e\">getInterpolation<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">float<\/span> <span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">return<\/span> <span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-15\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-16\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5679e402da9d5860332749-17\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/** @hide *\/<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-18\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-n\">@Override<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-19\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">long<\/span> <span class=\"crayon-e\">createNativeInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-20\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">return<\/span> <span class=\"crayon-v\">NativeInterpolatorFactoryHelper<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">createLinearInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-21\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9d5860332749-22\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u8fd9\u91cc\u6211\u4eec\u53ea\u770bgetInterpolation()\u65b9\u6cd5\uff0c\u8fd9\u4e2a\u65b9\u6cd5\u6ca1\u6709\u4efb\u4f55\u903b\u8f91\uff0c\u5c31\u662f\u628a\u53c2\u6570\u4e2d\u4f20\u9012\u7684input\u503c\u76f4\u63a5\u8fd4\u56de\u4e86\uff0c\u56e0\u6b64fraction\u7684\u503c\u5c31\u662f\u7b49\u4e8einput\u7684\u503c\u7684\uff0c\u8fd9\u5c31\u662f\u5300\u901f\u8fd0\u52a8\u7684Interpolator\u7684\u5b9e\u73b0\u65b9\u5f0f\u3002<\/p>\n<p>\u5f53\u7136\u8fd9\u662f\u6700\u7b80\u5355\u7684\u4e00\u79cdInterpolator\u7684\u5b9e\u73b0\u4e86\uff0c\u6211\u4eec\u518d\u6765\u770b\u4e00\u4e2a\u7a0d\u5fae\u590d\u6742\u4e00\u70b9\u7684\u3002\u65e2\u7136\u73b0\u5728\u5927\u5bb6\u90fd\u77e5\u9053\u4e86\u7cfb\u7edf\u5728\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u4f7f\u7528\u7684\u662fAccelerateDecelerateInterpolator\uff0c\u90a3\u6211\u4eec\u5c31\u6765\u770b\u4e00\u4e0b\u5b83\u7684\u6e90\u7801\u5427\uff0c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402da9da821638172\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"\u70b9\u51fb\u5c55\u5f00\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-15\">15<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-16\">16<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-17\">17<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-18\">18<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-19\">19<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-20\">20<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-21\">21<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-22\">22<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9da821638172-23\">23<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9da821638172-24\">24<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9da821638172-1\" class=\"crayon-line\"><span class=\"crayon-c\">\/**<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\"> * An interpolator where the rate of change starts and ends slowly but<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-3\" class=\"crayon-line\"><span class=\"crayon-c\"> * accelerates through the middle.<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-c\"> * <\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-5\" class=\"crayon-line\"><span class=\"crayon-c\"> *\/<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-n\">@HasNativeInterpolator<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-7\" class=\"crayon-line\"><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">class<\/span> <span class=\"crayon-e\">AccelerateDecelerateInterpolator <\/span><span class=\"crayon-r\">implements<\/span> <span class=\"crayon-v\">Interpolator<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">NativeInterpolatorFactory<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-e\">AccelerateDecelerateInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-9\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-10\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5679e402da9da821638172-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-n\">@SuppressWarnings<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-s\">&#8220;UnusedDeclaration&#8221;<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-e\">AccelerateDecelerateInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">Context <\/span><span class=\"crayon-v\">context<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">AttributeSet <\/span><span class=\"crayon-v\">attrs<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-13\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-14\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5679e402da9da821638172-15\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">float<\/span> <span class=\"crayon-e\">getInterpolation<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">float<\/span> <span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-16\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">return<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">float<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Math<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">cos<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">input<\/span> <span class=\"crayon-o\">+<\/span> <span class=\"crayon-cn\">1<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">*<\/span> <span class=\"crayon-v\">Math<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">PI<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2.0f<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">+<\/span> <span class=\"crayon-cn\">0.5f<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-17\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-18\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5679e402da9da821638172-19\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-c\">\/** @hide *\/<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-20\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-n\">@Override<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-21\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">long<\/span> <span class=\"crayon-e\">createNativeInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-22\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">return<\/span> <span class=\"crayon-v\">NativeInterpolatorFactoryHelper<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">createAccelerateDecelerateInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-23\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9da821638172-24\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u4ee3\u7801\u867d\u7136\u6ca1\u6709\u53d8\u957f\u5f88\u591a\uff0c\u4f46\u662fgetInterpolation()\u65b9\u6cd5\u4e2d\u7684\u903b\u8f91\u5df2\u7ecf\u660e\u663e\u53d8\u590d\u6742\u4e86\uff0c\u4e0d\u518d\u662f\u7b80\u5355\u5730\u5c06\u53c2\u6570\u4e2d\u7684input\u8fdb\u884c\u8fd4\u56de\uff0c\u800c\u662f\u8fdb\u884c\u4e86\u4e00\u4e2a\u8f83\u4e3a\u590d\u6742\u7684\u6570\u5b66\u8fd0\u7b97\u3002\u90a3\u8fd9\u91cc\u6211\u4eec\u6765\u5206\u6790\u4e00\u4e0b\u5b83\u7684\u7b97\u6cd5\u5b9e\u73b0\uff0c\u53ef\u4ee5\u770b\u5230\uff0c\u7b97\u6cd5\u4e2d\u4e3b\u8981\u4f7f\u7528\u4e86\u4f59\u5f26\u51fd\u6570\uff0c\u7531\u4e8einput\u7684\u53d6\u503c\u8303\u56f4\u662f0\u52301\uff0c\u90a3\u4e48cos\u51fd\u6570\u4e2d\u7684\u53d6\u503c\u8303\u56f4\u5c31\u662f\u03c0\u52302\u03c0\u3002\u800ccos(\u03c0)\u7684\u7ed3\u679c\u662f-1\uff0ccos(2\u03c0)\u7684\u7ed3\u679c\u662f1\uff0c\u90a3\u4e48\u8fd9\u4e2a\u503c\u518d\u9664\u4ee52\u52a0\u4e0a0.5\u4e4b\u540e\uff0cgetInterpolation()\u65b9\u6cd5\u6700\u7ec8\u8fd4\u56de\u7684\u7ed3\u679c\u503c\u8fd8\u662f\u57280\u52301\u4e4b\u95f4\u3002\u53ea\u4e0d\u8fc7\u7ecf\u8fc7\u4e86\u4f59\u5f26\u8fd0\u7b97\u4e4b\u540e\uff0c\u6700\u7ec8\u7684\u7ed3\u679c\u4e0d\u518d\u662f\u5300\u901f\u589e\u52a0\u7684\u4e86\uff0c\u800c\u662f\u7ecf\u5386\u4e86\u4e00\u4e2a\u5148\u52a0\u901f\u540e\u51cf\u901f\u7684\u8fc7\u7a0b\u3002\u6211\u4eec\u53ef\u4ee5\u5c06\u8fd9\u4e2a\u7b97\u6cd5\u7684\u6267\u884c\u60c5\u51b5\u901a\u8fc7\u66f2\u7ebf\u56fe\u7684\u65b9\u5f0f\u7ed8\u5236\u51fa\u6765\uff0c\u7ed3\u679c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/ww1.sinaimg.cn\/mw690\/b254dc71gw1evfu7qwubkj20fe09nq3e.jpg\" alt=\"\" \/><\/p>\n<p>\u53ef\u4ee5\u770b\u5230\uff0c\u8fd9\u662f\u4e00\u4e2aS\u578b\u7684\u66f2\u7ebf\u56fe\uff0c\u5f53\u6a2a\u5750\u6807\u4ece0\u53d8\u5316\u52300.2\u7684\u65f6\u5019\uff0c\u7eb5\u5750\u6807\u7684\u53d8\u5316\u5e45\u5ea6\u5f88\u5c0f\uff0c\u4f46\u662f\u4e4b\u540e\u5c31\u5f00\u59cb\u660e\u663e\u52a0\u901f\uff0c\u6700\u540e\u6a2a\u5750\u6807\u4ece0.8\u53d8\u5316\u52301\u7684\u65f6\u5019\uff0c\u7eb5\u5750\u6807\u7684\u53d8\u5316\u5e45\u5ea6\u53c8\u53d8\u5f97\u5f88\u5c0f\u3002<\/p>\n<p>OK\uff0c\u901a\u8fc7\u5206\u6790LinearInterpolator\u548cAccelerateDecelerateInterpolator\u7684\u6e90\u7801\uff0c\u6211\u4eec\u5df2\u7ecf\u5bf9Interpolator\u7684\u5185\u90e8\u5b9e\u73b0\u673a\u5236\u6709\u4e86\u6bd4\u8f83\u6e05\u695a\u7684\u8ba4\u8bc6\u4e86\uff0c\u90a3\u4e48\u63a5\u4e0b\u6765\u6211\u4eec\u5c31\u5f00\u59cb\u5c1d\u8bd5\u7f16\u5199\u4e00\u4e2a\u81ea\u5b9a\u4e49\u7684Interpolator\u3002<\/p>\n<p>\u7f16\u5199\u81ea\u5b9a\u4e49Interpolator\u6700\u4e3b\u8981\u7684\u96be\u5ea6\u90fd\u662f\u5728\u4e8e\u6570\u5b66\u8ba1\u7b97\u65b9\u9762\u7684\uff0c\u7531\u4e8e\u6211\u6570\u5b66\u5e76\u4e0d\u662f\u5f88\u597d\uff0c\u56e0\u6b64\u8fd9\u91cc\u4e5f\u5c31\u5199\u4e00\u4e2a\u7b80\u5355\u70b9\u7684Interpolator\u6765\u7ed9\u5927\u5bb6\u6f14\u793a\u4e00\u4e0b\u3002\u65e2\u7136\u5c5e\u6027\u52a8\u753b\u9ed8\u8ba4\u7684Interpolator\u662f\u5148\u52a0\u901f\u540e\u51cf\u901f\u7684\u4e00\u79cd\u65b9\u5f0f\uff0c\u8fd9\u91cc\u6211\u4eec\u5c31\u5bf9\u5b83\u8fdb\u884c\u4e00\u4e2a\u7b80\u5355\u7684\u4fee\u6539\uff0c\u8ba9\u5b83\u53d8\u6210\u5148\u51cf\u901f\u540e\u52a0\u901f\u7684\u65b9\u5f0f\u3002\u65b0\u5efaDecelerateAccelerateInterpolator\u7c7b\uff0c\u8ba9\u5b83\u5b9e\u73b0TimeInterpolator\u63a5\u53e3\uff0c\u4ee3\u7801\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402da9df500531994\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9df500531994-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9df500531994-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9df500531994-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9df500531994-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9df500531994-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9df500531994-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9df500531994-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9df500531994-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9df500531994-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9df500531994-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9df500531994-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9df500531994-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9df500531994-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9df500531994-14\">14<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9df500531994-1\" class=\"crayon-line\"><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">class<\/span> <span class=\"crayon-e\">DecelerateAccelerateInterpolator<\/span> <span class=\"crayon-r\">implements<\/span> <span class=\"crayon-e\">TimeInterpolator<\/span><span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-2\" class=\"crayon-line crayon-striped-line\"><\/div>\n<div id=\"crayon-5679e402da9df500531994-3\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-n\">@Override<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">float<\/span> <span class=\"crayon-e\">getInterpolation<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">float<\/span> <span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-t\">float<\/span> <span class=\"crayon-v\">result<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">if<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">input<\/span> <span class=\"crayon-o\">&lt;=<\/span> <span class=\"crayon-cn\">0.5<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-7\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">result<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">float<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Math<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sin<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Math<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">PI<\/span> <span class=\"crayon-o\">*<\/span> <span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span> <span class=\"crayon-st\">else<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-9\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">result<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-t\">float<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">2<\/span> <span class=\"crayon-o\">&#8211;<\/span> <span class=\"crayon-v\">Math<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">sin<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Math<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">PI<\/span> <span class=\"crayon-o\">*<\/span> <span class=\"crayon-v\">input<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-st\">return<\/span> <span class=\"crayon-v\">result<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9df500531994-13\" class=\"crayon-line\"><\/div>\n<div id=\"crayon-5679e402da9df500531994-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u8fd9\u6bb5\u4ee3\u7801\u662f\u4f7f\u7528\u6b63\u5f26\u51fd\u6570\u6765\u5b9e\u73b0\u5148\u51cf\u901f\u540e\u52a0\u901f\u7684\u529f\u80fd\u7684\uff0c\u56e0\u4e3a\u6b63\u5f26\u51fd\u6570\u521d\u59cb\u5f27\u5ea6\u7684\u53d8\u5316\u503c\u975e\u5e38\u5927\uff0c\u521a\u597d\u548c\u4f59\u5f26\u51fd\u6570\u662f\u76f8\u53cd\u7684\uff0c\u800c\u968f\u7740\u5f27\u5ea6\u7684\u589e\u52a0\uff0c\u6b63\u5f26\u51fd\u6570\u7684\u53d8\u5316\u503c\u4e5f\u4f1a\u9010\u6e10\u53d8\u5c0f\uff0c\u8fd9\u6837\u4e5f\u5c31\u5b9e\u73b0\u4e86\u51cf\u901f\u7684\u6548\u679c\u3002\u5f53\u5f27\u5ea6\u5927\u4e8e\u03c0\/2\u4e4b\u540e\uff0c\u6574\u4e2a\u8fc7\u7a0b\u76f8\u53cd\u4e86\u8fc7\u6765\uff0c\u73b0\u5728\u6b63\u5f26\u51fd\u6570\u7684\u5f27\u5ea6\u53d8\u5316\u503c\u975e\u5e38\u5c0f\uff0c\u6e10\u6e10\u968f\u7740\u5f27\u5ea6\u7ee7\u7eed\u589e\u52a0\uff0c\u53d8\u5316\u503c\u8d8a\u6765\u8d8a\u5927\uff0c\u5f27\u5ea6\u5230\u03c0\u65f6\u7ed3\u675f\uff0c\u8fd9\u6837\u4ece0\u8fc7\u5ea6\u5230\u03c0\uff0c\u4e5f\u5c31\u5b9e\u73b0\u4e86\u5148\u51cf\u901f\u540e\u52a0\u901f\u7684\u6548\u679c\u3002<\/p>\n<p>\u540c\u6837\u6211\u4eec\u53ef\u4ee5\u5c06\u8fd9\u4e2a\u7b97\u6cd5\u7684\u6267\u884c\u60c5\u51b5\u901a\u8fc7\u66f2\u7ebf\u56fe\u7684\u65b9\u5f0f\u7ed8\u5236\u51fa\u6765\uff0c\u7ed3\u679c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/ww2.sinaimg.cn\/mw690\/b254dc71gw1evfu7qgpqlj20er08m0t5.jpg\" alt=\"\" \/><\/p>\n<p>\u53ef\u4ee5\u770b\u5230\uff0c\u8fd9\u4e5f\u662f\u4e00\u4e2aS\u578b\u7684\u66f2\u7ebf\u56fe\uff0c\u53ea\u4e0d\u8fc7\u66f2\u7ebf\u7684\u65b9\u5411\u548c\u521a\u624d\u662f\u76f8\u53cd\u7684\u3002\u4ece\u4e0a\u56fe\u4e2d\u6211\u4eec\u53ef\u4ee5\u5f88\u6e05\u695a\u5730\u770b\u51fa\u6765\uff0c\u4e00\u5f00\u59cb\u7eb5\u5750\u6807\u7684\u53d8\u5316\u5e45\u5ea6\u5f88\u5927\uff0c\u7136\u540e\u9010\u6e10\u53d8\u5c0f\uff0c\u6a2a\u5750\u6807\u52300.5\u7684\u65f6\u5019\u7eb5\u5750\u6807\u53d8\u5316\u5e45\u5ea6\u8d8b\u8fd1\u4e8e\u96f6\uff0c\u4e4b\u540e\u968f\u7740\u6a2a\u5750\u6807\u7ee7\u7eed\u589e\u52a0\u7eb5\u5750\u6807\u7684\u53d8\u5316\u5e45\u5ea6\u53c8\u5f00\u59cb\u53d8\u5927\uff0c\u7684\u786e\u662f\u5148\u51cf\u901f\u540e\u52a0\u901f\u7684\u6548\u679c\u3002<\/p>\n<p>\u90a3\u4e48\u73b0\u5728\u6211\u4eec\u5c06DecelerateAccelerateInterpolator\u5728\u4ee3\u7801\u4e2d\u8fdb\u884c\u66ff\u6362\uff0c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402da9eb504629868\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-expand-button\" title=\"\u70b9\u51fb\u5c55\u5f00\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9eb504629868-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9eb504629868-2\">2<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9eb504629868-3\">3<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9eb504629868-4\">4<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9eb504629868-5\">5<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9eb504629868-6\">6<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9eb504629868-7\">7<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9eb504629868-8\">8<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9eb504629868-9\">9<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9eb504629868-10\">10<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9eb504629868-11\">11<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9eb504629868-12\">12<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9eb504629868-13\">13<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9eb504629868-14\">14<\/div>\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9eb504629868-15\">15<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9eb504629868-1\" class=\"crayon-line\"><span class=\"crayon-m\">private<\/span> <span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">startAnimation<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">Point <\/span><span class=\"crayon-v\">startPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">Point<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">getWidth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">RADIUS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-3\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">Point <\/span><span class=\"crayon-v\">endPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">Point<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">getWidth<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">\/<\/span> <span class=\"crayon-cn\">2<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-e\">getHeight<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-o\">&#8211;<\/span> <span class=\"crayon-v\">RADIUS<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-4\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">ValueAnimator <\/span><span class=\"crayon-v\">anim<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">ValueAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">ofObject<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">PointEvaluator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">startPoint<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-v\">endPoint<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-5\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">addUpdateListener<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-v\">ValueAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">AnimatorUpdateListener<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-6\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-n\">@Override<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-7\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-m\">public<\/span> <span class=\"crayon-t\">void<\/span> <span class=\"crayon-e\">onAnimationUpdate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-e\">ValueAnimator <\/span><span class=\"crayon-v\">animation<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-sy\">{<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-8\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">currentPoint<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">Point<\/span><span class=\"crayon-sy\">)<\/span> <span class=\"crayon-v\">animation<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">getAnimatedValue<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-9\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">invalidate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-10\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-11\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-12\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">DecelerateAccelerateInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-13\" class=\"crayon-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setDuration<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">3000<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-14\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">anim<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">start<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9eb504629868-15\" class=\"crayon-line\"><span class=\"crayon-sy\">}<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u975e\u5e38\u7b80\u5355\uff0c\u5c31\u662f\u5c06DecelerateAccelerateInterpolator\u7684\u5b9e\u4f8b\u4f20\u5165\u5230setInterpolator()\u65b9\u6cd5\u5f53\u4e2d\u3002\u91cd\u65b0\u8fd0\u884c\u4e00\u4e0b\u4ee3\u7801\uff0c\u6548\u679c\u5982\u4e0b\u56fe\u6240\u793a\uff1a<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/img.blog.csdn.net\/20150530230114481\" alt=\"\" \/><\/p>\n<p>OK\uff01\u5c0f\u7403\u7684\u8fd0\u52a8\u786e\u5b9e\u662f\u5148\u51cf\u901f\u540e\u52a0\u901f\u7684\u6548\u679c\uff0c\u8bf4\u660e\u6211\u4eec\u81ea\u5b9a\u4e49\u7684Interpolator\u5df2\u7ecf\u53ef\u4ee5\u6b63\u5e38\u5de5\u4f5c\u4e86\u3002\u901a\u8fc7\u8fd9\u6837\u4e00\u4e2a\u7a0b\u5ea6\u7684\u5b66\u4e60\uff0c\u76f8\u4fe1\u5927\u5bb6\u5bf9\u5c5e\u6027\u52a8\u753bInterpolator\u7684\u7406\u89e3\u548c\u4f7f\u7528\u90fd\u8fbe\u5230\u4e86\u4e00\u4e2a\u6bd4\u8f83\u6df1\u523b\u7684\u5c42\u6b21\u4e86\u3002<\/p>\n<h2><a name=\"t1\"><\/a>ViewPropertyAnimator\u7684\u7528\u6cd5<\/h2>\n<p>ViewPropertyAnimator\u5176\u5b9e\u7b97\u4e0d\u4e0a\u4ec0\u4e48\u9ad8\u7ea7\u6280\u5de7\uff0c\u5b83\u7684\u7528\u6cd5\u683c\u5916\u7684\u7b80\u5355\uff0c\u53ea\u4e0d\u8fc7\u548c\u524d\u9762\u6240\u5b66\u7684\u6240\u6709\u5c5e\u6027\u52a8\u753b\u7684\u77e5\u8bc6\u4e0d\u540c\uff0c\u5b83\u5e76\u4e0d\u662f\u57283.0\u7cfb\u7edf\u5f53\u4e2d\u5f15\u5165\u7684\uff0c\u800c\u662f\u57283.1\u7cfb\u7edf\u5f53\u4e2d\u9644\u589e\u7684\u4e00\u4e2a\u65b0\u7684\u529f\u80fd\uff0c\u56e0\u6b64\u8fd9\u91cc\u6211\u4eec\u628a\u5b83\u4f5c\u4e3a\u6574\u4e2a\u5c5e\u6027\u52a8\u753b\u7cfb\u5217\u7684\u6536\u5c3e\u90e8\u5206\u3002<\/p>\n<p>\u6211\u4eec\u90fd\u77e5\u9053\uff0c\u5c5e\u6027\u52a8\u753b\u7684\u673a\u5236\u5df2\u7ecf\u4e0d\u662f\u518d\u9488\u5bf9\u4e8eView\u800c\u8fdb\u884c\u8bbe\u8ba1\u7684\u4e86\uff0c\u800c\u662f\u4e00\u79cd\u4e0d\u65ad\u5730\u5bf9\u503c\u8fdb\u884c\u64cd\u4f5c\u7684\u673a\u5236\uff0c\u5b83\u53ef\u4ee5\u5c06\u503c\u8d4b\u503c\u5230\u6307\u5b9a\u5bf9\u8c61\u7684\u6307\u5b9a\u5c5e\u6027\u4e0a\u3002\u4f46\u662f\uff0c\u5728\u7edd\u5927\u591a\u6570\u60c5\u51b5\u4e0b\uff0c\u6211\u76f8\u4fe1\u5927\u5bb6\u4e3b\u8981\u90fd\u8fd8\u662f\u5bf9View\u8fdb\u884c\u52a8\u753b\u64cd\u4f5c\u7684\u3002Android\u5f00\u53d1\u56e2\u961f\u4e5f\u662f\u610f\u8bc6\u5230\u4e86\u8fd9\u4e00\u70b9\uff0c\u6ca1\u6709\u4e3aView\u7684\u52a8\u753b\u64cd\u4f5c\u63d0\u4f9b\u4e00\u79cd\u66f4\u52a0\u4fbf\u6377\u7684\u7528\u6cd5\u786e\u5b9e\u662f\u6709\u70b9\u592a\u4e0d\u4eba\u6027\u5316\u4e86\uff0c\u4e8e\u662f\u5728Android 3.1\u7cfb\u7edf\u5f53\u4e2d\u8865\u5145\u4e86ViewPropertyAnimator\u8fd9\u4e2a\u673a\u5236\u3002<\/p>\n<p>\u90a3\u6211\u4eec\u5148\u6765\u56de\u987e\u4e00\u4e0b\u4e4b\u524d\u7684\u7528\u6cd5\u5427\uff0c\u6bd4\u5982\u6211\u4eec\u60f3\u8981\u8ba9\u4e00\u4e2aTextView\u4ece\u5e38\u89c4\u72b6\u6001\u53d8\u6210\u900f\u660e\u72b6\u6001\uff0c\u5c31\u53ef\u4ee5\u8fd9\u6837\u5199\uff1a<\/p>\n<div id=\"crayon-5679e402da9f0292258313\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9f0292258313-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402da9f0292258313-2\">2<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9f0292258313-1\" class=\"crayon-line\"><span class=\"crayon-e\">ObjectAnimator <\/span><span class=\"crayon-v\">animator<\/span> <span class=\"crayon-o\">=<\/span> <span class=\"crayon-v\">ObjectAnimator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">ofFloat<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-v\">textview<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-s\">&#8220;alpha&#8221;<\/span><span class=\"crayon-sy\">,<\/span> <span class=\"crayon-cn\">0f<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<div id=\"crayon-5679e402da9f0292258313-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-v\">animator<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">start<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u770b\u4e0a\u53bb\u590d\u6742\u5417\uff1f\u597d\u50cf\u4e5f\u4e0d\u600e\u4e48\u590d\u6742\uff0c\u4f46\u786e\u5b9e\u4e5f\u4e0d\u600e\u4e48\u5bb9\u6613\u7406\u89e3\u3002\u6211\u4eec\u8981\u5c06\u64cd\u4f5c\u7684view\u3001\u5c5e\u6027\u3001\u53d8\u5316\u7684\u503c\u90fd\u4e00\u8d77\u4f20\u5165\u5230ObjectAnimator.ofFloat()\u65b9\u6cd5\u5f53\u4e2d\uff0c\u867d\u7136\u770b\u4e0a\u53bb\u4e5f\u6ca1\u5199\u51e0\u884c\u4ee3\u7801\uff0c\u4f46\u8fd9\u4e0d\u592a\u50cf\u662f\u6211\u4eec\u5e73\u65f6\u4f7f\u7528\u7684\u9762\u5411\u5bf9\u8c61\u7684\u601d\u7ef4\u3002<\/p>\n<p>\u90a3\u4e48\u4e0b\u9762\u6211\u4eec\u5c31\u6765\u770b\u4e00\u4e0b\u5982\u4f55\u4f7f\u7528ViewPropertyAnimator\u6765\u5b9e\u73b0\u540c\u6837\u7684\u6548\u679c\uff0cViewPropertyAnimator\u63d0\u4f9b\u4e86\u66f4\u52a0\u6613\u61c2\u3001\u66f4\u52a0\u9762\u5411\u5bf9\u8c61\u7684API\uff0c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402da9f4816880249\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9f4816880249-1\">1<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9f4816880249-1\" class=\"crayon-line\"><span class=\"crayon-v\">textview<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">animate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">alpha<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">0f<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u679c\u7136\u975e\u5e38\u7b80\u5355\uff01\u4e0d\u8fc7textview.animate()\u8fd9\u4e2a\u65b9\u6cd5\u662f\u600e\u4e48\u56de\u4e8b\u5462\uff1fanimate()\u65b9\u6cd5\u5c31\u662f\u5728Android 3.1\u7cfb\u7edf\u4e0a\u65b0\u589e\u7684\u4e00\u4e2a\u65b9\u6cd5\uff0c\u8fd9\u4e2a\u65b9\u6cd5\u7684\u8fd4\u56de\u503c\u662f\u4e00\u4e2aViewPropertyAnimator\u5bf9\u8c61\uff0c\u4e5f\u5c31\u662f\u8bf4\u62ff\u5230\u8fd9\u4e2a\u5bf9\u8c61\u4e4b\u540e\u6211\u4eec\u5c31\u53ef\u4ee5\u8c03\u7528\u5b83\u7684\u5404\u79cd\u65b9\u6cd5\u6765\u5b9e\u73b0\u52a8\u753b\u6548\u679c\u4e86\uff0c\u8fd9\u91cc\u6211\u4eec\u8c03\u7528\u4e86alpha()\u65b9\u6cd5\u5e76\u8f6c\u51650\uff0c\u8868\u793a\u5c06\u5f53\u524d\u7684textview\u53d8\u6210\u900f\u660e\u72b6\u6001\u3002<\/p>\n<p>\u600e\u4e48\u6837\uff1f\u6bd4\u8d77\u4f7f\u7528ObjectAnimator\uff0cViewPropertyAnimator\u7684\u7528\u6cd5\u660e\u663e\u66f4\u52a0\u7b80\u5355\u6613\u61c2\u5427\u3002\u9664\u6b64\u4e4b\u5916\uff0cViewPropertyAnimator\u8fd8\u53ef\u4ee5\u5f88\u8f7b\u677e\u5730\u5c06\u591a\u4e2a\u52a8\u753b\u7ec4\u5408\u5230\u4e00\u8d77\uff0c\u6bd4\u5982\u6211\u4eec\u60f3\u8981\u8ba9textview\u8fd0\u52a8\u5230500,500\u8fd9\u4e2a\u5750\u6807\u70b9\u4e0a\uff0c\u5c31\u53ef\u4ee5\u8fd9\u6837\u5199\uff1a<\/p>\n<div id=\"crayon-5679e402da9f9236602512\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9f9236602512-1\">1<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9f9236602512-1\" class=\"crayon-line\"><span class=\"crayon-v\">textview<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">animate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">x<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">500<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">y<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">500<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u53ef\u4ee5\u770b\u51fa\uff0cViewPropertyAnimator\u662f\u652f\u6301\u8fde\u7f00\u7528\u6cd5\u7684\uff0c\u6211\u4eec\u60f3\u8ba9textview\u79fb\u52a8\u5230\u6a2a\u5750\u6807500\u8fd9\u4e2a\u4f4d\u7f6e\u4e0a\u65f6\u8c03\u7528\u4e86x(500)\u8fd9\u4e2a\u65b9\u6cd5\uff0c\u7136\u540e\u8ba9textview\u79fb\u52a8\u5230\u7eb5\u5750\u6807500\u8fd9\u4e2a\u4f4d\u7f6e\u4e0a\u65f6\u8c03\u7528\u4e86y(500)\u8fd9\u4e2a\u65b9\u6cd5\uff0c\u5c06\u6240\u6709\u60f3\u8981\u7ec4\u5408\u7684\u52a8\u753b\u901a\u8fc7\u8fd9\u79cd\u8fde\u7f00\u7684\u65b9\u5f0f\u62fc\u63a5\u8d77\u6765\uff0c\u8fd9\u6837\u5168\u90e8\u52a8\u753b\u5c31\u90fd\u4f1a\u4e00\u8d77\u88ab\u6267\u884c\u3002<\/p>\n<p>\u90a3\u4e48\u600e\u6837\u53bb\u8bbe\u5b9a\u52a8\u753b\u7684\u8fd0\u884c\u65f6\u957f\u5462\uff1f\u5f88\u7b80\u5355\uff0c\u4e5f\u662f\u901a\u8fc7\u8fde\u7f00\u7684\u65b9\u5f0f\u8bbe\u5b9a\u5373\u53ef\uff0c\u6bd4\u5982\u6211\u4eec\u60f3\u8981\u8ba9\u52a8\u753b\u8fd0\u884c5\u79d2\u949f\uff0c\u5c31\u53ef\u4ee5\u8fd9\u6837\u5199\uff1a<\/p>\n<div id=\"crayon-5679e402da9fd877500587\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402da9fd877500587-1\">1<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402da9fd877500587-1\" class=\"crayon-line\"><span class=\"crayon-v\">textview<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">animate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">x<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">500<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">y<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">500<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setDuration<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">5000<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u9664\u6b64\u4e4b\u5916\uff0c\u672c\u7bc7\u6587\u7ae0\u7b2c\u4e00\u90e8\u5206\u6240\u5b66\u7684Interpolator\u6280\u672f\u6211\u4eec\u4e5f\u53ef\u4ee5\u5e94\u7528\u5728ViewPropertyAnimator\u4e0a\u9762\uff0c\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<div id=\"crayon-5679e402daa01278428187\" class=\"crayon-syntax crayon-theme-eclipse crayon-font-monaco crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\">\n<div class=\"crayon-toolbar\" data-settings=\" show\">\n<div class=\"crayon-tools\">\n<div class=\"crayon-button crayon-nums-button crayon-pressed\" title=\"\u5207\u6362\u662f\u5426\u663e\u793a\u884c\u7f16\u53f7\"><\/div>\n<div class=\"crayon-button crayon-plain-button\" title=\"\u7eaf\u6587\u672c\u663e\u793a\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-wrap-button\" title=\"\u5207\u6362\u81ea\u52a8\u6362\u884c\"><\/div>\n<div class=\"crayon-button crayon-copy-button\" title=\"\u590d\u5236\u4ee3\u7801\"><\/div>\n<div class=\"crayon-button crayon-popup-button\" title=\"\u5728\u65b0\u7a97\u53e3\u4e2d\u663e\u793a\u4ee3\u7801\"><\/div>\n<p><span class=\"crayon-language\">Java<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"crayon-plain-wrap\"><\/div>\n<div class=\"crayon-main\">\n<table class=\"crayon-table\">\n<tbody>\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"show\">\n<div class=\"crayon-nums-content\">\n<div class=\"crayon-num\" data-line=\"crayon-5679e402daa01278428187-1\">1<\/div>\n<div class=\"crayon-num crayon-striped-num\" data-line=\"crayon-5679e402daa01278428187-2\">2<\/div>\n<\/div>\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\">\n<div id=\"crayon-5679e402daa01278428187-1\" class=\"crayon-line\"><span class=\"crayon-v\">textview<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">animate<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">x<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">500<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">y<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">500<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setDuration<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-cn\">5000<\/span><span class=\"crayon-sy\">)<\/span><\/div>\n<div id=\"crayon-5679e402daa01278428187-2\" class=\"crayon-line crayon-striped-line\"><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">setInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-r\">new<\/span> <span class=\"crayon-e\">BounceInterpolator<\/span><span class=\"crayon-sy\">(<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">)<\/span><span class=\"crayon-sy\">;<\/span><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u7528\u6cd5\u5f88\u7b80\u5355\uff0c\u540c\u6837\u4e5f\u662f\u4f7f\u7528\u8fde\u7f00\u7684\u65b9\u5f0f\u3002\u76f8\u4fe1\u5927\u5bb6\u73b0\u5728\u90fd\u5df2\u7ecf\u4f53\u9a8c\u51fa\u6765\u4e86\uff0cViewPropertyAnimator\u5176\u5b9e\u5e76\u6ca1\u6709\u4ec0\u4e48\u592a\u591a\u7684\u6280\u5de7\u53ef\u8a00\uff0c\u7528\u6cd5\u57fa\u672c\u90fd\u662f\u5927\u540c\u5c0f\u5f02\u7684\uff0c\u9700\u8981\u7528\u5230\u4ec0\u4e48\u529f\u80fd\u5c31\u8fde\u7f00\u4e00\u4e0b\uff0c\u56e0\u6b64\u66f4\u591a\u7684\u7528\u6cd5\u5927\u5bb6\u53ea\u9700\u8981\u53bb\u67e5\u9605\u4e00\u4e0b\u6587\u6863\uff0c\u770b\u770b\u8fd8\u652f\u6301\u54ea\u4e9b\u529f\u80fd\uff0c\u6709\u54ea\u4e9b\u63a5\u53e3\u53ef\u4ee5\u8c03\u7528\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<p>\u90a3\u4e48\u9664\u4e86\u7528\u6cd5\u4e4b\u5916\uff0c\u5173\u4e8eViewPropertyAnimator\u6709\u51e0\u4e2a\u7ec6\u8282\u8fd8\u662f\u503c\u5f97\u5927\u5bb6\u6ce8\u610f\u4e00\u4e0b\u7684\uff1a<\/p>\n<ul>\n<li>\u6574\u4e2aViewPropertyAnimator\u7684\u529f\u80fd\u90fd\u662f\u5efa\u7acb\u5728View\u7c7b\u65b0\u589e\u7684animate()\u65b9\u6cd5\u4e4b\u4e0a\u7684\uff0c\u8fd9\u4e2a\u65b9\u6cd5\u4f1a\u521b\u5efa\u5e76\u8fd4\u56de\u4e00\u4e2aViewPropertyAnimator\u7684\u5b9e\u4f8b\uff0c\u4e4b\u540e\u7684\u8c03\u7528\u7684\u6240\u6709\u65b9\u6cd5\uff0c\u8bbe\u7f6e\u7684\u6240\u6709\u5c5e\u6027\u90fd\u662f\u901a\u8fc7\u8fd9\u4e2a\u5b9e\u4f8b\u5b8c\u6210\u7684\u3002<\/li>\n<li>\u5927\u5bb6\u6ce8\u610f\u5230\uff0c\u5728\u4f7f\u7528ViewPropertyAnimator\u65f6\uff0c\u6211\u4eec\u81ea\u59cb\u81f3\u7ec8\u6ca1\u6709\u8c03\u7528\u8fc7start()\u65b9\u6cd5\uff0c\u8fd9\u662f\u56e0\u4e3a\u65b0\u7684\u63a5\u53e3\u4e2d\u4f7f\u7528\u4e86\u9690\u5f0f\u542f\u52a8\u52a8\u753b\u7684\u529f\u80fd\uff0c\u53ea\u8981\u6211\u4eec\u5c06\u52a8\u753b\u5b9a\u4e49\u5b8c\u6210\u4e4b\u540e\uff0c\u52a8\u753b\u5c31\u4f1a\u81ea\u52a8\u542f\u52a8\u3002\u5e76\u4e14\u8fd9\u4e2a\u673a\u5236\u5bf9\u4e8e\u7ec4\u5408\u52a8\u753b\u4e5f\u540c\u6837\u6709\u6548\uff0c\u53ea\u8981\u6211\u4eec\u4e0d\u65ad\u5730\u8fde\u7f00\u65b0\u7684\u65b9\u6cd5\uff0c\u90a3\u4e48\u52a8\u753b\u5c31\u4e0d\u4f1a\u7acb\u523b\u6267\u884c\uff0c\u7b49\u5230\u6240\u6709\u5728ViewPropertyAnimator\u4e0a\u8bbe\u7f6e\u7684\u65b9\u6cd5\u90fd\u6267\u884c\u5b8c\u6bd5\u540e\uff0c\u52a8\u753b\u5c31\u4f1a\u81ea\u52a8\u542f\u52a8\u3002\u5f53\u7136\u5982\u679c\u4e0d\u60f3\u4f7f\u7528\u8fd9\u4e00\u9ed8\u8ba4\u673a\u5236\u7684\u8bdd\uff0c\u6211\u4eec\u4e5f\u53ef\u4ee5\u663e\u5f0f\u5730\u8c03\u7528start()\u65b9\u6cd5\u6765\u542f\u52a8\u52a8\u753b\u3002<\/li>\n<li>ViewPropertyAnimator\u7684\u6240\u6709\u63a5\u53e3\u90fd\u662f\u4f7f\u7528\u8fde\u7f00\u7684\u8bed\u6cd5\u6765\u8bbe\u8ba1\u7684\uff0c\u6bcf\u4e2a\u65b9\u6cd5\u7684\u8fd4\u56de\u503c\u90fd\u662f\u5b83\u81ea\u8eab\u7684\u5b9e\u4f8b\uff0c\u56e0\u6b64\u8c03\u7528\u5b8c\u4e00\u4e2a\u65b9\u6cd5\u4e4b\u540e\u53ef\u4ee5\u76f4\u63a5\u8fde\u7f00\u8c03\u7528\u5b83\u7684\u53e6\u4e00\u4e2a\u65b9\u6cd5\uff0c\u8fd9\u6837\u628a\u6240\u6709\u7684\u529f\u80fd\u90fd\u4e32\u63a5\u8d77\u6765\uff0c\u6211\u4eec\u751a\u81f3\u53ef\u4ee5\u4ec5\u901a\u8fc7\u4e00\u884c\u4ee3\u7801\u5c31\u5b8c\u6210\u4efb\u610f\u590d\u6742\u5ea6\u7684\u52a8\u753b\u529f\u80fd\u3002<\/li>\n<\/ul>\n<p>\u597d\u7684\uff0c\u90a3\u4e48\u5230\u8fd9\u91cc\u4e3a\u6b62\uff0c\u6574\u4e2aAndroid\u5c5e\u6027\u52a8\u753b\u5b8c\u5168\u89e3\u6790\u7684\u7cfb\u5217\u5c31\u5168\u90e8\u7ed3\u675f\u4e86\uff0c\u611f\u8c22\u5927\u5bb6\u6709\u8010\u5fc3\u770b\u5230\u6700\u540e\u3002<\/p>\n<p>\u539f\u6587\u51fa\u5904\uff1a <a href=\"http:\/\/blog.csdn.net\/guolin_blog\/article\/details\/44171115\" target=\"_blank\" rel=\"noopener\">guolin<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5927\u5bb6\u597d\uff0c\u6b22\u8fce\u7ee7\u7eed\u56de\u5230Android\u5c5e\u6027\u52a8\u753b\u5b8c\u5168\u89e3\u6790\u3002\u5728\u4e0a\u4e00\u7bc7\u6587\u7ae0\u5f53\u4e2d\u6211\u4eec\u5b66\u4e60\u4e86\u5c5e\u6027\u52a8\u753b\u7684\u4e00\u4e9b\u8fdb\u9636\u6280\u5de7\uff0c\u5305\u62ecVa [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[72],"tags":[],"_links":{"self":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/1089"}],"collection":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1089"}],"version-history":[{"count":3,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/1089\/revisions"}],"predecessor-version":[{"id":3560,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=\/wp\/v2\/posts\/1089\/revisions\/3560"}],"wp:attachment":[{"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ai.zhousir.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}