我非常接近制作"硬币翻转"动画,但是由于当前动画系统的局限性(错误?) - 我无法找到一种方法来显示硬币在空中翻转的两侧.
例如,我有以下动画.XML:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:repeatCount="17"
android:repeatMode="reverse"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0" android:toXScale="1.0"
android:fromYScale="1.0" android:toYScale="0.0"
android:pivotX="50%" android:pivotY="50%"
android:fillEnabled="true"
android:fillAfter="true"
android:duration="60"
/>
<scale
android:repeatCount="1"
android:repeatMode="reverse"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0" android:toXScale="2.0"
android:fromYScale="1.0" android:toYScale="2.0"
android:pivotX="50%" android:pivotY="50%"
android:fillEnabled="true"
android:fillAfter="true"
android:duration="800"
/>
<translate
android:repeatCount="1"
android:repeatMode="reverse"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXDelta="0%"
android:toXDelta="0%"
android:fromYDelta="0%"
android:toYDelta="-150%"
android:fillEnabled="true"
android:fillAfter="true"
android:duration="800"
/>
</set>
Run Code Online (Sandbox Code Playgroud)
这通过在Y轴上缩放硬币并在循环上反转它来"伪造"翻转动画.与此相结合,有一个比例可以使整个动画更大,同时也可以上下翻译.但它只会显示硬币的一面.
我尝试了两个这样的动画,硬币的每一面,同时运行,但由于REPEATCOUNT在应用于AnimationSet时不能正常工作,我找不到错开它们的方法.否则我可以在一个动画之后(并且在另一个之前)引入某种延迟,因此它们交替,给出硬币翻转的错觉.
有谁知道我可以调整这个以获得所需的结果?
我曾想过放弃并做一个基于帧的动画(预渲染翻转为帧),但看起来你不能混合Frame&Tween动画,所以我会失去翻转"高度"和"距离"效果.
(当涉及到硬币着陆时,我还有另外一个问题 - 例如,最终结果是随机的,但我希望我能在最后切换实际结果吗?)
提前致谢!
我可以通过Eclipse调试/运行我的Android应用程序,我可以导出一个混淆/收缩的.APK.
但是,为了测试我的"Release/Exported".APK版本,我必须手动将它们复制到我的手机(启用磁盘模式后)并从那里安装它们(在禁用磁盘模式后).
正如你所看到的,它非常有效!:O(
在通过Eclipse导出后,是否有一种"运行"发布版本的快速方法?
谢谢!
我有一个网页,里面有我自己需要执行的脚本和变量,并从我的扩展的Background.js中检索返回值.
我理解(我认为!)为了与网页进行交互,必须通过chrome.tabs.executeScript或ContentScript来完成,但因为代码必须在原始页面的上下文中执行(为了具有范围)对于脚本和变量),需要先将其注入页面.
在Rob W的这篇精彩文章之后,我能够调用页面级脚本/变量,但我很难理解如何以这种方式返回值.
这是我到目前为止所得到的......
网页代码(我想与之交互):
<html>
<head>
<script>
var favColor = "Blue";
function getURL() {
return window.location.href;
}
</script>
</head>
<body>
<p>Example web page with script content I want interact with...</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
manifest.json:
{
// Extension ID: behakphdmjpjhhbilolgcfgpnpcoamaa
"name": "MyExtension",
"version": "1.0",
"manifest_version": 2,
"description": "My Desc Here",
"background": {
"scripts": ["background.js"]
},
"icons": {
"128": "icon-128px.png"
},
"permissions": [
"background",
"tabs",
"http://*/",
"https://*/",
"file://*/", //### (DEBUG ONLY)
"nativeMessaging"
]
}
Run Code Online (Sandbox Code Playgroud)
background.js …