DropdownMenu.svg

基于 PopupWindow 的下拉菜单控件,可以方便的配置样式和填充数据。

0560d3105ed25fad28e99a5069f3dcc0.png

c6919797ae7de5bba8498fdca4eb1f97.png

使用

new DropdownMenu.Builder()

.header(new TextViewHeader(tvChooseHero)) // 默认头部交互

.content(new DropListContent(this, Arrays.asList(HEROES))) // 默认菜单样式

.build()

.setOnChooseListener(textContent::setText);

自定义样式和交互:

参考 TextViewHeader 和 DropListContent 实现

依赖

allprojects {

repositories {

maven { url "https://jitpack.io" }

}

}

dependencies {

// get latest version from https://jitpack.io/#twiceyuan/DropdownMenu

implementation 'com.github.twiceyuan:DropdownMenu:$latest_version"

}

更新日志

update 2.0.0-alpha

重新设计(不兼容之前版本)

update 1.1.6

优化下拉菜单标题的显示,在其长度过长时显示省略号。同时增加获得标题文本 TextView 的方法,方便使用时进一步微调

update 1.1.5

切换图标,调整细节

update 1.1.3

添加 library 中的源码

修复选择后获取不到 title 的问题

update 1.1.1

添加自定义下拉布局的支持,添加二级联动的例子

update 1.1.0

修改上下图标箭头为字体图标(仅有两个字符 1KB 左右的字体文件不会造成资源浪费)

上下箭头可以通过 iconColor 来设置颜色

DropdownMenu 的 title 文字选中时(下拉菜单弹出)时的颜色可以通过 highlightColor 来配置

增加 sample 里 list adapter 设置单选的效果

update 1.0.4

解决在低版本上面点击事件不响应的问题。

update 1.0.3

添加手动弹出和关闭的方法

添加管理工具类来实现同时只允许一个窗口为弹出状态

update 1.0.2

选择其中一项后改变标题文字(需要适配器实现 DropdownAdapter 接口)

在 PopupWindow 打开时点击标题收起

Java 中设置默认标题文字

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐