很多app都有上下翻滚的公告栏来提示用户最新的公司动态及事件,先看ui图:
不知道你看到的ui图的第一反应是什么, 反正我的第一反应是找一下第三方. …结果找了半天没找到合适的,如果你和我的反应是一样的说明那么你对ViewFlipper是陌生的 ,不了解的同学请问度娘,本文就是基于Android循环滚动控件——ViewFlipper的重写。
下面上效果图,看看是否能帮助到您:
思路就是ViewFlipper的用法,再有就是代码动态添加控件,也没啥好讲的下面直接贴代码。
XML 布局:
<lzh.myview.view.MyNotificationView
android:id="@+id/mnv"
android:layout_centerInParent="true"
app:mvInterval="3000"
app:mvSingleLine="true"
app:mvTextSize="@dimen/size_26px"
app:mvTextColor="@color/black_333333"
app:mvTimeTextColor="@color/grey_999999"
app:mvTimeTextSize ="@dimen/size_22px"
android:layout_width="match_parent"
android:layout_marginLeft="@dimen/size_50px"
android:layout_marginRight="@dimen/size_50px"
android:layout_height="@dimen/size_100px">
</lzh.myview.view.MyNotificationView>
attrs 文件
<!--可滚动的通知栏-->
<declare-styleable name="MyNotificationView">
<attr name="mvInterval" format="integer|reference"/>
<attr name="mvTextSize" format="dimension|reference"/>
<attr name="mvTimeTextSize" format="dimension|reference"/>
<attr name="mvTextColor" format="color|reference"/>
<attr name="mvTimeTextColor" format="color|reference"/>
<attr name="mvSingleLine" format="boolean"/>
</declare-styleable>
动画文件:
// anim_notificationview_bottom_in
<set xmlns:andro