完全是跟着下面的教程一步一步完成的。超级棒的教程。
中文翻译的第三章有部分内容缺失,所以尽量还是看原文。
虽然不是自己设计实现的,但还是非常有成就感。感谢作者及译者。
我从这篇教程中受益颇深,学习到了各种动画的制作,理解了动画的精髓 (通过位移,尺度,透明度等的变化及其组合来实现),高级控件的使用,自定义 View 的实现,以及良好的代码风格。
最终的实现效果正如 youtube 中演示的一样。细微部分有所差别。
在学习过程中,对这个项目做了一些修改和调整。
项目中用到的图片资源皆来自作者项目及花瓣网,如有侵权本人会马上删除。
Feeds
Comments
UserProfile
Drawer
TakePhoto
EditPhoto
PublishPhoto
SendingPhoto
拍照按钮异常 (正常的情况看上面的截图)
解决办法:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="#458dca" />
</shape>
</item>
<item
android:bottom="16dp"
android:left="16dp"
android:right="16dp"
android:top="16dp">
<shape android:shape="oval">
<solid android:color="#529bd8" />
</shape>
</item>
<item>
<shape android:shape="oval">
<!--增加这一行代码,把缕空部分声明为透明-->
<solid android:color="@android:color/transparent" />
<stroke
android:width="2dp"
android:color="#ffffff"
android:dashWidth="0dp" />
</shape>
</item>
</layer-list>
选择发布对象按钮异常 (正常的情况看上面的截图)
解决办法:我觉得作者的实现稍微复杂,作者是在底层绘制了一个 rectangle,然后在顶层用白色边框包围住底层的 rectangle。解决办法同上,需要把顶层缕空部分声明为 transparent,但我自己换了一种实现方法,先在底层绘制了纯色的 rectangle,然后在它下面绘制了一条相同颜色的 line。实现代码 (摘自 switch_publish_followers.xml
):
<layer-list>
<item android:bottom="8dp" android:top="8dp">
<shape android:shape="rectangle">
<solid android:color="#006699" />
</shape>
</item>
<item android:left="-4dp" android:right="-4dp" android:top="42dp">
<shape android:shape="line">
<stroke android:width="4dp" android:color="#006699" />
</shape>
</item>
</layer-list>