自定义Spinner使用AppCompatTextView+PopupWindow实现高可定制下拉菜单

自定义 Spinner 的玩法中,用的组合挺好用的,兼容性也不错,样式还好改。Android 原生的太死板,想定制 UI 有点折腾。就比较灵活,搭个弹窗,瞬间变身高可定制下拉菜单。尤其是在旧设备上跑起来也不丑,挺香的。

黑色主题的项目,用AppCompatTextView加个带阴影的PopupWindow,样式立马跟上了。下拉列表用ListViewRecyclerView装数据,配个Adapter就行,响应也快,代码也简单。

PopupWindow用起来比你想的还自由,大小、位置、动画随你调。点击TextView弹出,选完自动更新显示内容,体验不输原生。而且你还能加分割线、换行距、改字体,UI 做得漂漂亮亮的。

用法也不复杂,先整一个popup_spinner.xml布局文件,定义好列表样式。再写个Adapter绑定数据,把AppCompatTextView放主界面,点击后弹出PopupWindow就完事。

如果你也在做选项多、UI 要求高的下拉菜单,这种方式真的可以一试。代码在压缩包Spinner-master里都写好了,改一改就能用。哦对,记得适配不同分辨率,PopupWindow的位置和大小要调一下,不然容易出界。

zip 文件大小:1.19MB