TableFlipper视图切换组件
TableFlipper 的视图切换体验挺轻巧的,尤其适合一排按钮控制多个页面的场景。它本质上是个基于ViewSwitcher
的组件,用起来比起手写切换逻辑省了不少事。你只要把多个视图堆在里面,再用按钮去切换索引,就搞定了。动画也可以自定义,平滑切换不突兀。
TableFlipper 的界面切换适合那种内容比较相似、但又分成多个“页面”的需求。比如一个 Tab 式导航,每个 Tab 展示不同的统计数据、用户信息啥的,用它切就舒服。
布局上比较简单。直接在 XML 里写个TableFlipper
,里面塞多个LinearLayout
或RelativeLayout
。在按钮点击里用setDisplayedChild(index)
来切换页面。嗯,逻辑清晰、响应也快。
按钮那一排你可以用LinearLayout
配合Button
数组来做,偷懒的话也能用RecyclerView
搞个横向列表,点哪个跳哪个。别忘了判断下index
别越界,用getChildCount()
兜底下。
动画效果也是 TableFlipper 一个加分点。默认有平滑切换,但你也能通过setInAnimation()
和setOutAnimation()
换成你自己的动画,比如淡入淡出、左右滑动啥的。
注意点嘛,也有几个。它只能水平切换,如果你想上下滑动页面,那得用ViewPager
或者配合Fragment
来搞。还有就是别一上来就把所有子 View 都初始化了,能懒加载尽量懒点。
如果你正好有类似豆瓣滑动卡片那种需求,可以参考下豆瓣式滑动卡片。或者你想拓展下思路,看看滑动切换机制这篇文章,也挺有启发。
,TableFlipper 适合小体量的视图切换,用起来还挺顺手。如果你懒得写太复杂的逻辑,又想界面能动起来,它是个不错的选项。
413.73KB
文件大小:
评论区