MCPcopy Index your code
hub / github.com/dongjunkun/DropDownMenu

github.com/dongjunkun/DropDownMenu @1.0.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.4 ↗ · + Follow
55 symbols 114 edges 9 files 11 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

简介

一个实用的多条件筛选菜单,在很多App上都能看到这个效果,如美团,爱奇艺电影票等

我的博客 自己造轮子--android常用多条件帅选菜单实现思路(类似美团,爱奇艺电影票下拉菜单)

特色

  • 支持多级菜单
  • 你可以完全自定义你的菜单样式,我这里只是封装了一些实用的方法,Tab的切换效果,菜单显示隐藏效果等
  • 并非用popupWindow实现,无卡顿

ScreenShot

Download APK

或者扫描二维码

Gradle Dependency

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

dependencies {
    compile 'com.github.dongjunkun:DropDownMenu:1.0.4'
}

使用

添加DropDownMenu 到你的布局文件,如下

<com.yyydjk.library.DropDownMenu
    android:id="@+id/dropDownMenu"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:ddmenuTextSize="13sp" //tab字体大小
    app:ddtextUnselectedColor="@color/drop_down_unselected" //tab未选中颜色
    app:ddtextSelectedColor="@color/drop_down_selected" //tab选中颜色
    app:dddividerColor="@color/gray"    //分割线颜色
    app:ddunderlineColor="@color/gray"  //下划线颜色
    app:ddmenuSelectedIcon="@mipmap/drop_down_selected_icon" //tab选中状态图标
    app:ddmenuUnselectedIcon="@mipmap/drop_down_unselected_icon"//tab未选中状态图标
    app:ddmaskColor="@color/mask_color"     //遮罩颜色,一般是半透明
    app:ddmenuBackgroundColor="@color/white" //tab 背景颜色
    app:ddmenuMenuHeightPercent="0.5" 菜单的最大高度,根据屏幕高度的百分比设置
    ...
 />

我们只需要在java代码中调用下面的代码

 //tabs 所有标题,popupViews  所有菜单,contentView 内容
mDropDownMenu.setDropDownMenu(tabs, popupViews, contentView);

如果你要了解更多,可以直接看源码 Example

建议拷贝代码到项目中使用,拷贝DropDownMenu.java 以及res下的所有文件即可

关于我

简书dongjunkun

Core symbols most depended-on inside this repo

closeMenu
called by 7
library/src/main/java/com/yyydjk/library/DropDownMenu.java
dpTpPx
called by 6
library/src/main/java/com/yyydjk/library/DropDownMenu.java
setTabText
called by 4
library/src/main/java/com/yyydjk/library/DropDownMenu.java
setCheckItem
called by 4
app/src/main/java/com/yyy/djk/dropdownmenu/GirdDropDownAdapter.java
setDropDownMenu
called by 1
library/src/main/java/com/yyydjk/library/DropDownMenu.java
addTab
called by 1
library/src/main/java/com/yyydjk/library/DropDownMenu.java
isShowing
called by 1
library/src/main/java/com/yyydjk/library/DropDownMenu.java
switchMenu
called by 1
library/src/main/java/com/yyydjk/library/DropDownMenu.java

Shape

Method 43
Class 12

Languages

Java100%

Modules by API surface

library/src/main/java/com/yyydjk/library/DropDownMenu.java11 symbols
app/src/main/java/com/yyy/djk/dropdownmenu/ListDropDownAdapter.java10 symbols
app/src/main/java/com/yyy/djk/dropdownmenu/GirdDropDownAdapter.java10 symbols
app/src/main/java/com/yyy/djk/dropdownmenu/ConstellationAdapter.java10 symbols
app/src/main/java/com/yyy/djk/dropdownmenu/MainActivity.java6 symbols
library/src/test/java/com/yyydjk/library/ExampleUnitTest.java2 symbols
library/src/main/java/com/yyydjk/library/DeviceUtils.java2 symbols
library/src/androidTest/java/com/yyydjk/library/ApplicationTest.java2 symbols
app/src/androidTest/java/com/yyy/djk/dropdownmenu/ApplicationTest.java2 symbols

For agents

$ claude mcp add DropDownMenu \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page