- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我直接从 android 文档中获取了一些动画 xml,并且作为据我所知,它在我的 2.1 update 1 模拟器或我的 2.1 更新 1 Galaxy S 设备。
具体来说,我正在尝试创建一个动画来使 View 脉动(即在一个动画中使其变小然后变大)这是非常简单的标记:
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0"
android:toXScale="0.5"
android:fromYScale="1.0"
android:toYScale="0.5"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000" />
<set android:startOffset="1000">
<scale
android:fromXScale="0.5"
android:toXScale="1.0"
android:fromYScale="0.5"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000" />
</set>
</set>
所以我想要实现的是将 View 的大小缩小到一秒钟内减半,然后将其恢复到原来的状态超过一秒钟的大小。因此,重新迭代,两秒钟后它应该从原始 -> 半尺寸 -> 原始。
实际发生的是它立即捕捉到 View 大小的一半(即使 fromX/YScale 为 1.0)然后在两秒内执行动画然后恢复到原始大小。
其他人可以快速尝试一下吗?如果其他人看到此行为我会把它作为一个错误提交。我简直不敢相信如此基本的东西可以被打破!?
此外,在“Tween Animation”标题下复制此动画本页http://developer.android.com/guide/topics/graphics/2d-graphics.html逐字逐句也不会按照页面上的说明进行动画处理。似乎以完全相同的方式被打破!
有人有什么想法吗?
谢谢!
安迪。
最佳答案
我最近发现并且对您的动画的不良行为负有部分责任的事实是 <set>
中使用了许多 XML 属性。标签不起作用!
在您的代码示例中,您有 <set android:startOffset="1000">
由于一个荒谬的错误/缺陷,Android 将忽略此属性,这将导致您的第二个 child <set>
与您的 parent 同时开始的动画 <set>
更令人沮丧的是这个属性在代码中以编程方式工作,setStartOffset()
但不是在 XML 中。
我花了几个令人沮丧的时间来弄清楚哪些属性在代码和 XML 中适用于 AnimationSet
s 并在此处提交错误报告/问题:Issue 17662
总结:
setRepeatCount() / android:repeatCount
This attribute (as well as repeatMode) does not work in code or XML. This makes repeating an entire set of animations difficult.
setDuration()/android:持续时间
Setting this on an AnimationSet in code WORKS (overrides all durations of children animations), but not when included in the tag in XML
setFillAfter()/android:fillAfter
This works in both code and XML for the tag. Strangely I have gotten it to also work without the need to set fillEnabled to true.
setFillBefore()/android:fillBefore
Seems to have no effect/ignored in both code and XML
setFillEnabled()/android:fillEnabled
Seems to have no effect/ignored in both code and XML. I can still get fillAfter to work even without including fillEnabled or setting fillEnabled to false.
setStartOffset()/android:startOffset
This works only in code and not XML.
不用说,这会导致很多不必要的挫败感。
关于java - Android 动画 startOffset 损坏或错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4014331/
我将 lucene 4.4 版与这些分析器一起使用: worddelimeter, patternFilter, synonyms, lowercase, stopwords, kStemFilter
我已经使用 elastic 实现了搜索。下面是我的分析配置 $aAnalizerArray = [ "edgeTokenizer" => [ "tokeniz
我创建了以下动画: 我在 Android 2.3.6 手机上对其进行了测试,动画按顺序播放但反转了。首先它从左边到中间,然后从中间到右边。如何以正确的顺序播放它? 最佳答案 fina
所以我刚开始在 android studio 中为 android 开发一个应用程序,但有点进退两难,我创建了一些 XML 动画以在我的应用程序中使用,其中一个具有以下代码: 此 XML 动画
我直接从 android 文档中获取了一些动画 xml,并且作为据我所知,它在我的 2.1 update 1 模拟器或我的 2.1 更新 1 Galaxy S 设备。 具体来说,我正在尝试创建一个动画
我想为 VectorDrawable 制作动画。 这是我的 VectorDrawable(从 SVG 转换而来,为此示例进行了简化): 我的 Animate
我怎样才能获得与 range.startOffset 等效的功能?在 Internet Explorer 8 及更低版本中? 即,我想要一个可以在范围上调用的函数,它会告诉我范围开始的容器中有多少个字
我正在尝试重建 Range()使用 websockets 在客户端浏览器上对象。 https://jsfiddle.net/k36goyec/ 首先,我在我的浏览器中获取了 Range 对象和 Nod
我正在尝试使用 Snap.svg 在圆弧中间呈现文本。 这可以通过这样的 SVG 实现: Text on a curved path 我得到
我需要创建一个程序,它接受字符串输入并突出显示字符串列表中的某些单词。 示例: String MyList[] = {"Dog","Cat","Lion"}; Sample Input Text: I
我是一名优秀的程序员,十分优秀!