我想实现一个类似于" Big Web Quiz App" (Link to Play Store)
对我来说,它似乎没有使用某种OpenGL,我找不到任何关于这些分解代码的引用。也许是一个形象?
提前致谢
更新:我上传了一段视频,清楚地说明有转换,它不是按下的按下按钮。 LINK
答案 0 :(得分:2)
你可以通过使用帧动画来实现这一点,就像从少量图像构建短视频一样。
animation-list
是一个选项,请详细了解here:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item
android:duration="500"
android:drawable="@drawable/ic_heart_0"/>
<item
android:duration="500"
android:drawable="@drawable/ic_heart_25"/>
<item
android:duration="500"
android:drawable="@drawable/ic_heart_50"/>
<item
android:duration="500"
android:drawable="@drawable/ic_heart_75"/>
<item
android:duration="500"
android:drawable="@drawable/ic_heart_100"/>
</animation-list>
自2015年至2016年8月的新闻lol
今天有更多选项可以解决此问题,您可以使用AnimatedVectorDrawable或ObjectAnimator或使用在AnimatedVectorDrawable之上开发的android-pathview库,它可以让您的生活更轻松。但无论如何,你必须付出一些努力来达到预期的效果。
答案 1 :(得分:0)
关闭袖口,这似乎需要一个自定义小部件。
小部件本身会占用整个空间,从前景的左上角到3D背景的右下角。小部件的自定义onDraw()
将呈现前景,可能是TextView
的形式,左侧是复合可绘制的。 onDraw()
还会渲染形成3D效果的阴影平行四边形,以消耗窗口小部件前景和右下角之间的其余空间。
在点击事件中,您将使用动画制作器框架更改窗口小部件的大小,将其锚定在右下角。动画会将大小更改为最小位置,然后将其反转回原始大小(假设此按钮的行为类似于Button
,而不是某种CompoundButton
)。 onDraw()
逻辑应该能够处理这个问题,将前景呈现在正确的位置并相应地减小平行四边形的大小。
这是一个有根据的猜测,因为我从来没有尝试过这样的事情。如果你想通过反转3D效果来支持RTL(前景向下移动到左边而不是向下移动),它也会变得复杂。