ViewFlipper实现文字或者图片的切换

作者: Ad大成 | 来源:发表于2019-11-03 20:31 被阅读0次

ViewFlipper是Android中的基础控件,可能在一般开发中很少有人用到,所以很多开发者感觉对这个控件很陌生,在控件圈里更远远没有ViewPager出名,但是ViewFlipper用法很简单,效果却很不错。

ViewFlipper常用方法
setInAnimation:设置View进入屏幕时候使用的动画
setOutAnimation:设置View退出 屏幕时候使用的动画
showNext:调用该函数来显示ViewFlipper里面的下一个View
showPrevious:调用该函数来显示ViewFlipper里面的上一个View
setFilpInterval:设置View之间切换的时间间隔
startFlipping:使用上面设置的时间间隔来开始切换所有的View,切换会
循环进行
stopFlipping:停止View切换

布局引入

     <ViewFlipper
                android:id="@+id/tv_notify"
                android:layout_width="wrap_content"
                android:layout_height="@dimen/dp_16"
                android:layout_marginLeft="@dimen/dp_8" />

进出场动画设置

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    >
    <translate android:fromYDelta="100%p" android:toYDelta="0" />
    <alpha android:fromAlpha="0" android:toAlpha="1"/>
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    >
    <translate android:fromYDelta="0" android:toYDelta="100%p"/>
    <alpha android:fromAlpha="1" android:toAlpha="0"/>
</set>

界面使用 以下是项目中的Kotlin模块

 override fun getIndexReturn(result: MainBean) {
        val notice_list = result.data!!.notice_list
//        设置动画
        tv_notify.setInAnimation(context,R.anim.flipper_in)
        tv_notify.setOutAnimation(context,R.anim.flipper_out)
        for(i : MainBean.DataBean.NoticeListBean in notice_list!!){
//            创建一个textView
            var tv:TextView= TextView(context)
            tv.setText(i.title)
//            在flipper里添加这个textView
            tv_notify.addView(tv)
            tv_notify.showNext()
//          监听每次创建的TextView即可
            tv.setOnClickListener(View.OnClickListener {

                Toast.makeText(context,"123"+tv.text.toString(),Toast.LENGTH_LONG).show()
            })
        }
//        启动 循环执行
        tv_notify.startFlipping()
    }

ViewFlipper是不需要导包的 直接就可用
还有MarqueeView 也可以实现效果
需要导入依赖 compile 'com.sunfusheng:marqueeview:1.3.2' 具体细节baidu

相关文章

网友评论

    本文标题:ViewFlipper实现文字或者图片的切换

    本文链接:https://www.haomeiwen.com/subject/azslbctx.html