├── .gitignore
├── .idea
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── gradle.xml
├── misc.xml
├── modules.xml
└── runConfigurations.xml
├── README.md
├── app
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── qlh
│ │ └── dropmenu
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── qlh
│ │ │ └── dropmenu
│ │ │ └── MainActivity.java
│ └── res
│ │ ├── drawable
│ │ ├── drop_down_selected_icon.png
│ │ └── drop_down_unselected_icon.png
│ │ ├── layout
│ │ ├── activity_main.xml
│ │ └── content_view.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ └── ic_launcher_round.png
│ │ └── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── qlh
│ └── dropmenu
│ └── ExampleUnitTest.java
├── build.gradle
├── dropdownmenu
├── .gitignore
├── build.gradle
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── qlh
│ │ └── dropdownmenu
│ │ └── ExampleInstrumentedTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ └── com
│ │ │ └── qlh
│ │ │ └── dropdownmenu
│ │ │ ├── DeviceUtils.java
│ │ │ ├── DropDownMenu.java
│ │ │ ├── adapter
│ │ │ └── TextAdapter.java
│ │ │ └── view
│ │ │ ├── MultiMenusView.java
│ │ │ ├── SingleMenuView.java
│ │ │ └── ViewBaseAction.java
│ └── res
│ │ ├── anim
│ │ ├── dd_mask_in.xml
│ │ ├── dd_mask_out.xml
│ │ ├── dd_menu_in.xml
│ │ └── dd_menu_out.xml
│ │ ├── drawable
│ │ ├── choose_item_selected.png
│ │ ├── choose_level_one_menu_item_selector.xml
│ │ └── choose_level_two_menu_item_selector.xml
│ │ ├── layout
│ │ ├── choose_item.xml
│ │ ├── tab_menu_ly.xml
│ │ ├── view_multi_menu.xml
│ │ └── view_single_menu.xml
│ │ ├── values-1024x600
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-1024x768
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-1184x720
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-1196x720
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-1280x720
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-1280x800
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-1812x1080
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-1920x1080
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-2560x1440
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-480x320
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-800x480
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-854x480
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ ├── values-960x540
│ │ ├── lay_x.xml
│ │ └── lay_y.xml
│ │ └── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ └── strings.xml
│ └── test
│ └── java
│ └── com
│ └── qlh
│ └── dropdownmenu
│ └── ExampleUnitTest.java
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 | .externalNativeBuild
10 |
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
19 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | 1.8
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## 最新修改(可以直接DropMenu:+ [随时获取最新的版本])
2 | 1.0.1版本:修改MultiMenusView中levelOneMenuList固定数目的错误;增加控制是否使用高度百分比的属性isUsePopMenuHeightPercent;给二级菜单添加分割线
3 | ## 简介
4 | 这是一个改写过的多级下拉菜单(给自己项目使用的),可以根据自己的需求进行添加各种菜单样式,在很多App上都能看到这个效果,如美团,爱奇艺电影票等,单级菜单,
5 | 多级菜单和其他自定义的菜单。本项目参考下面的开源库,搭了基本的框架,可以自己根据要求添加菜单视图。
6 |
7 | 主要参考开源库:[DropDownMenu](https://github.com/dongjunkun/DropDownMenu)。在此表示感谢,喜欢的可以自己参考原库进行改写
8 | ## 特色
9 | * 支持多级菜单,对应类**MultiMenusView**
10 | * 支持单级菜单,对应类**SingleMenuView**
11 | * 当然你也可以完全自定义下拉列表的展现形式,使用复杂的布局等
12 | * 你可以完全自定义你的菜单样式,我这里只是封装了一些实用的方法,Tab的切换效果,菜单显示隐藏效果等
13 | * 并非用popupWindow实现,无卡顿
14 | ## ScreenShot
15 | 
16 |
17 | ## 使用
18 | 1. 添加依赖
19 |
20 | Add it in your project build.gradle at the end of repositories:
21 | ```
22 | allprojects {
23 | repositories {
24 | ...
25 | maven { url 'https://jitpack.io' }
26 | }
27 | }
28 | ```
29 | Add it in your module build.gradle
30 | ```
31 | dependencies {
32 | compile 'com.github.wzgl5533:DropMenu:1.0.1'
33 | }
34 | ```
35 | 2. 添加DropDownMenu 到你的布局文件,如下:
36 | ```
37 |
51 | ```
52 |
53 | ## DropDownMenu类的主要结构:
54 |
55 | 根布局包含:
56 |
57 | * tabMenuView —— 菜单顶部导航布局
58 | * underLine —— 下划线
59 | * containerView(包含contentView[内容],maskView[遮罩],popupMenuViews[下拉弹框])—— 底部容器
60 | * 说明:这些布局都是可以进行自己定义,根据自己的项目需求进行改装
61 |
62 | ## 本项目主文件MainActivity.java
63 | ```
64 | package com.qlh.dropmenu;
65 |
66 | import android.os.Bundle;
67 | import android.support.v7.app.AppCompatActivity;
68 | import android.view.LayoutInflater;
69 | import android.view.View;
70 |
71 | import com.qlh.dropdownmenu.DropDownMenu;
72 | import com.qlh.dropdownmenu.view.MultiMenusView;
73 | import com.qlh.dropdownmenu.view.SingleMenuView;
74 |
75 | import java.util.ArrayList;
76 | import java.util.Arrays;
77 | import java.util.List;
78 |
79 | public class MainActivity extends AppCompatActivity {
80 |
81 | private MainActivity instance;
82 | private String[] headers;//菜单头部选项
83 | private List popupViews = new ArrayList<>();//菜单列表视图
84 | private DropDownMenu mDropDownMenu;
85 | private MultiMenusView multiMenusView;//多级菜单
86 | private SingleMenuView singleMenuView;//单级菜单
87 | //内容视图
88 | private View contentView;
89 |
90 | @Override
91 | protected void onCreate(Bundle savedInstanceState) {
92 | super.onCreate(savedInstanceState);
93 | setContentView(R.layout.activity_main);
94 |
95 | init();
96 | }
97 |
98 | private void init() {
99 | instance = this;
100 | initView();
101 | initMenus();
102 | initListener();
103 |
104 | }
105 |
106 | private void initView() {
107 |
108 | mDropDownMenu = (DropDownMenu) findViewById(R.id.dropDownMenu);
109 | }
110 |
111 | private void initMenus() {
112 |
113 | headers = new String[]{"木材类别", "产地"};
114 | //初始化多级菜单
115 | final String[] levelOneMenu = {"全部", "原木", "板材", "方料"};
116 | final String[][] levelTwoMenu = {
117 | {"辐射松", "铁杉", "樟子松", "云杉", "红橡", "白橡", "樟木", "桦木", "沙比利", "奥坎", "榉木", "落叶松"},
118 | {"辐射松", "铁杉", "樟子松", "云杉"},
119 | {"红橡", "白橡", "樟木", "桦木"},
120 | {"沙比利", "奥坎", "榉木", "落叶松"}
121 | };
122 | multiMenusView = new MultiMenusView(instance,levelOneMenu,levelTwoMenu);
123 | popupViews.add(multiMenusView);
124 | //初始化单级菜单
125 | String[] addressArrays = {"不限","澳大利亚", "美国", "英国", "法国", "日本", "新西兰", "印度"};
126 | singleMenuView = new SingleMenuView(instance,addressArrays);
127 | popupViews.add(singleMenuView);
128 | //初始化内容视图
129 | contentView = LayoutInflater.from(instance).inflate(R.layout.content_view,null);
130 | //装载
131 | mDropDownMenu.setDropDownMenu(Arrays.asList(headers),popupViews,contentView);
132 |
133 | }
134 |
135 | private void initListener() {
136 |
137 | //下拉菜单
138 | multiMenusView.setOnSelectListener(new MultiMenusView.OnSelectListener() {
139 | @Override
140 | public void getValue(String showText) {
141 | mDropDownMenu.setTabText(showText);
142 | mDropDownMenu.closeMenu();
143 | }
144 | });
145 | singleMenuView.setOnSelectListener(new SingleMenuView.OnSelectListener() {
146 | @Override
147 | public void getValue(int position, String showText) {
148 | mDropDownMenu.setTabText(showText);
149 | mDropDownMenu.closeMenu();
150 | }
151 | });
152 | }
153 | }
154 | ```
155 | ## 备注
156 | 如果你要了解更多,可以直接看源码或者关注原作者的项目,喝水不忘挖井人,喜欢的可以打个星,欢迎不断扩展
157 | > 可以直接添加依赖库到工程中(AS),ES的只能复制了
158 |
159 | ## 关于我的点滴
160 |
161 | 简书:[小胖归来](http://www.jianshu.com/p/0a313554364b)
162 |
163 | CSDN:[奔跑的小虎](http://blog.csdn.net/wzgl708937822)
164 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 25
5 | buildToolsVersion "25.0.2"
6 | defaultConfig {
7 | applicationId "com.qlh.dropmenu"
8 | minSdkVersion 15
9 | targetSdkVersion 25
10 | versionCode 1
11 | versionName "1.0"
12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | compile fileTree(include: ['*.jar'], dir: 'libs')
24 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
25 | exclude group: 'com.android.support', module: 'support-annotations'
26 | })
27 | compile 'com.android.support:appcompat-v7:25.3.1'
28 | compile 'com.android.support.constraint:constraint-layout:1.0.2'
29 | testCompile 'junit:junit:4.12'
30 | compile project(':dropdownmenu')
31 | }
32 |
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\Android\SDK\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/qlh/dropmenu/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropmenu;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumentation test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() throws Exception {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("com.qlh.dropmenu", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/java/com/qlh/dropmenu/MainActivity.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropmenu;
2 |
3 | import android.os.Bundle;
4 | import android.support.v7.app.AppCompatActivity;
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 |
8 | import com.qlh.dropdownmenu.DropDownMenu;
9 | import com.qlh.dropdownmenu.view.MultiMenusView;
10 | import com.qlh.dropdownmenu.view.SingleMenuView;
11 |
12 | import java.util.ArrayList;
13 | import java.util.Arrays;
14 | import java.util.List;
15 |
16 | public class MainActivity extends AppCompatActivity {
17 |
18 | private MainActivity instance;
19 | private String[] headers;//菜单头部选项
20 | private List popupViews = new ArrayList<>();//菜单列表视图
21 | private DropDownMenu mDropDownMenu;
22 | private MultiMenusView multiMenusView;//多级菜单
23 | private SingleMenuView singleMenuView;//单级菜单
24 | //内容视图
25 | private View contentView;
26 |
27 | @Override
28 | protected void onCreate(Bundle savedInstanceState) {
29 | super.onCreate(savedInstanceState);
30 | setContentView(R.layout.activity_main);
31 |
32 | init();
33 | }
34 |
35 | private void init() {
36 | instance = this;
37 | initView();
38 | initMenus();
39 | initListener();
40 |
41 | }
42 |
43 | private void initView() {
44 |
45 | mDropDownMenu = (DropDownMenu) findViewById(R.id.dropDownMenu);
46 | }
47 |
48 | private void initMenus() {
49 |
50 | headers = new String[]{"木材类别", "产地"};
51 | //初始化多级菜单
52 | final String[] levelOneMenu = {"全部", "原木", "板材", "方料","灌木"};
53 | final String[][] levelTwoMenu = {
54 | {"辐射松", "铁杉", "樟子松", "云杉", "红橡", "白橡", "樟木", "桦木", "沙比利", "奥坎", "榉木", "落叶松"},
55 | {"辐射松", "铁杉", "樟子松", "云杉"},
56 | {"红橡", "白橡", "樟木", "桦木"},
57 | {"沙比利", "奥坎", "榉木", "落叶松"},
58 | {"针叶", "观杨", "梧桐", "香樟树"}
59 | };
60 | multiMenusView = new MultiMenusView(instance,levelOneMenu,levelTwoMenu);
61 | popupViews.add(multiMenusView);
62 | //初始化单级菜单
63 | String[] addressArrays = {"不限","澳大利亚", "美国", "英国", "法国", "日本", "新西兰", "印度"};
64 | singleMenuView = new SingleMenuView(instance,addressArrays);
65 | popupViews.add(singleMenuView);
66 | //初始化内容视图
67 | contentView = LayoutInflater.from(instance).inflate(R.layout.content_view,null);
68 | //装载
69 | mDropDownMenu.setDropDownMenu(Arrays.asList(headers),popupViews,contentView);
70 |
71 | }
72 |
73 | private void initListener() {
74 |
75 | //下拉菜单
76 | multiMenusView.setOnSelectListener(new MultiMenusView.OnSelectListener() {
77 | @Override
78 | public void getValue(String showText) {
79 | mDropDownMenu.setTabText(showText);
80 | mDropDownMenu.closeMenu();
81 | }
82 | });
83 | singleMenuView.setOnSelectListener(new SingleMenuView.OnSelectListener() {
84 | @Override
85 | public void getValue(int position, String showText) {
86 | mDropDownMenu.setTabText(showText);
87 | mDropDownMenu.closeMenu();
88 | }
89 | });
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/drop_down_selected_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/drawable/drop_down_selected_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/drop_down_unselected_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/drawable/drop_down_unselected_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/content_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3F51B5
4 | #303F9F
5 | #FF4081
6 | #D8D8D8
7 | #0084ff
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | DropMenu
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/test/java/com/qlh/dropmenu/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropmenu;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:2.3.1'
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | jcenter()
18 | }
19 | }
20 |
21 | task clean(type: Delete) {
22 | delete rootProject.buildDir
23 | }
24 |
--------------------------------------------------------------------------------
/dropdownmenu/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/dropdownmenu/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.library'
2 |
3 | android {
4 | compileSdkVersion 25
5 | buildToolsVersion "25.0.2"
6 |
7 | defaultConfig {
8 | minSdkVersion 15
9 | targetSdkVersion 25
10 | versionCode 1
11 | versionName "1.0"
12 |
13 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
14 |
15 | }
16 | buildTypes {
17 | release {
18 | minifyEnabled false
19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
20 | }
21 | }
22 | }
23 |
24 | dependencies {
25 | compile fileTree(dir: 'libs', include: ['*.jar'])
26 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
27 | exclude group: 'com.android.support', module: 'support-annotations'
28 | })
29 | compile 'com.android.support:appcompat-v7:25.3.1'
30 | testCompile 'junit:junit:4.12'
31 | }
32 |
--------------------------------------------------------------------------------
/dropdownmenu/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in D:\Android\SDK\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
19 | # Uncomment this to preserve the line number information for
20 | # debugging stack traces.
21 | #-keepattributes SourceFile,LineNumberTable
22 |
23 | # If you keep the line number information, uncomment this to
24 | # hide the original source file name.
25 | #-renamesourcefileattribute SourceFile
26 |
--------------------------------------------------------------------------------
/dropdownmenu/src/androidTest/java/com/qlh/dropdownmenu/ExampleInstrumentedTest.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropdownmenu;
2 |
3 | import android.content.Context;
4 | import android.support.test.InstrumentationRegistry;
5 | import android.support.test.runner.AndroidJUnit4;
6 |
7 | import org.junit.Test;
8 | import org.junit.runner.RunWith;
9 |
10 | import static org.junit.Assert.*;
11 |
12 | /**
13 | * Instrumentation test, which will execute on an Android device.
14 | *
15 | * @see Testing documentation
16 | */
17 | @RunWith(AndroidJUnit4.class)
18 | public class ExampleInstrumentedTest {
19 | @Test
20 | public void useAppContext() throws Exception {
21 | // Context of the app under test.
22 | Context appContext = InstrumentationRegistry.getTargetContext();
23 |
24 | assertEquals("com.qlh.dropdownmenu.test", appContext.getPackageName());
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/java/com/qlh/dropdownmenu/DeviceUtils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013 Peng fei Pan
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.qlh.dropdownmenu;
18 |
19 | import android.annotation.TargetApi;
20 | import android.content.Context;
21 | import android.graphics.Point;
22 | import android.os.Build;
23 | import android.view.Display;
24 | import android.view.WindowManager;
25 |
26 | /**
27 | * 设备工具箱,提供与设备硬件相关的工具方法
28 | */
29 | public class DeviceUtils {
30 |
31 | /**
32 | * 获取屏幕尺寸
33 | */
34 | @SuppressWarnings("deprecation")
35 | @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
36 | public static Point getScreenSize(Context context){
37 | WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
38 | Display display = windowManager.getDefaultDisplay();
39 | if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR2){
40 | return new Point(display.getWidth(), display.getHeight());
41 | }else{
42 | Point point = new Point();
43 | display.getSize(point);
44 | return point;
45 | }
46 | }
47 |
48 |
49 | }
--------------------------------------------------------------------------------
/dropdownmenu/src/main/java/com/qlh/dropdownmenu/DropDownMenu.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropdownmenu;
2 |
3 | import android.content.Context;
4 | import android.content.res.TypedArray;
5 | import android.support.annotation.NonNull;
6 | import android.text.TextUtils;
7 | import android.util.AttributeSet;
8 | import android.util.DisplayMetrics;
9 | import android.util.TypedValue;
10 | import android.view.LayoutInflater;
11 | import android.view.View;
12 | import android.view.ViewGroup;
13 | import android.view.animation.AnimationUtils;
14 | import android.widget.FrameLayout;
15 | import android.widget.ImageView;
16 | import android.widget.LinearLayout;
17 | import android.widget.TextView;
18 |
19 | import java.util.List;
20 |
21 | /**
22 | * Created by qlh on 2017/7/5.
23 | * 根布局DropDownMenu主要包括:tabMenuView,underLine,containerView(包含popupMenuViews,maskView)
24 | */
25 | public class DropDownMenu extends LinearLayout {
26 |
27 | private Context context;
28 | //顶部菜单布局
29 | private LinearLayout tabMenuView;
30 | //底部容器,包含popupMenuViews,maskView
31 | private FrameLayout containerView;
32 | //弹出菜单父布局
33 | private FrameLayout popupMenuViews;
34 | //遮罩半透明View,点击可关闭DropDownMenu
35 | private View maskView;
36 | //tabMenuView里面选中的tab位置,-1表示未选中
37 | private int current_tab_position = -1;
38 |
39 | //分割线颜色
40 | private int dividerColor = 0xffcccccc;
41 | //tab选中颜色
42 | private int textSelectedColor = 0xff890c85;
43 | //tab未选中颜色
44 | private int textUnselectedColor = 0xff111111;
45 | //遮罩颜色
46 | private int maskColor = 0x88888888;
47 | //tab字体大小
48 | private int menuTextSize = 14;
49 |
50 | //tab选中图标
51 | private int menuSelectedIcon;
52 | //tab未选中图标
53 | private int menuUnselectedIcon;
54 | //menu tab高度,暂时不用
55 | private float tabMenuHeightPercent = ViewGroup.LayoutParams.WRAP_CONTENT;
56 | //是否使用高度百分比
57 | private boolean isUsePopMenuHeightPercent = false;
58 | //menu弹框最大高度,按照屏幕比例计算
59 | private float popMenuHeightPercent = 0.5f;
60 |
61 |
62 | public DropDownMenu(Context context) {
63 | super(context, null);
64 | }
65 |
66 | public DropDownMenu(Context context, AttributeSet attrs) {
67 | this(context, attrs, 0);
68 | }
69 |
70 | public DropDownMenu(Context context, AttributeSet attrs, int defStyleAttr) {
71 | super(context, attrs, defStyleAttr);
72 |
73 | this.context = context;
74 | //设置根布局为垂直方向
75 | setOrientation(VERTICAL);
76 |
77 | //为DropDownMenu添加自定义属性
78 | int menuBackgroundColor = 0xffffffff;//菜单导航背景颜色
79 | int underlineColor = 0xffcccccc;//下划线颜色
80 | //自定义属性
81 | TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DropDownMenu);
82 | underlineColor = a.getColor(R.styleable.DropDownMenu_ddunderlineColor, underlineColor);//下划线颜色
83 | dividerColor = a.getColor(R.styleable.DropDownMenu_dddividerColor, dividerColor);//分割线颜色
84 | //文本选中颜色
85 | textSelectedColor = a.getColor(R.styleable.DropDownMenu_ddtextSelectedColor, textSelectedColor);
86 | //文本未选中颜色
87 | textUnselectedColor = a.getColor(R.styleable.DropDownMenu_ddtextUnselectedColor, textUnselectedColor);
88 | //菜单导航背景颜色
89 | menuBackgroundColor = a.getColor(R.styleable.DropDownMenu_ddmenuBackgroundColor, menuBackgroundColor);
90 | //遮罩层颜色
91 | maskColor = a.getColor(R.styleable.DropDownMenu_ddmaskColor, maskColor);
92 | //菜单导航文本字体大小
93 | menuTextSize = a.getDimensionPixelSize(R.styleable.DropDownMenu_ddmenuTextSize, menuTextSize);
94 | //菜单导航item选中时箭头图标
95 | menuSelectedIcon = a.getResourceId(R.styleable.DropDownMenu_ddmenuSelectedIcon, menuSelectedIcon);
96 | //菜单导航item未选中时箭头图标
97 | menuUnselectedIcon = a.getResourceId(R.styleable.DropDownMenu_ddmenuUnselectedIcon, menuUnselectedIcon);
98 | //是否使用高度百分比
99 | isUsePopMenuHeightPercent = a.getBoolean(R.styleable
100 | .DropDownMenu_ddIsUsePopMenuHeightPercent,isUsePopMenuHeightPercent);
101 | //菜单导航高度
102 | popMenuHeightPercent = a.getFloat(R.styleable.DropDownMenu_ddpopMenuHeightPercent, popMenuHeightPercent);
103 | a.recycle();
104 |
105 | //初始化tabMenuView并添加到主布局DropDownMenu
106 | tabMenuView = new LinearLayout(context);
107 | LayoutParams params = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
108 | tabMenuView.setOrientation(HORIZONTAL);
109 | tabMenuView.setBackgroundColor(menuBackgroundColor);
110 | tabMenuView.setLayoutParams(params);
111 | addView(tabMenuView, 0);
112 |
113 | //为主布局DropDownMenu添加下划线
114 | View underLine = new View(getContext());
115 | underLine.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dpTpPx
116 | (0.5f)));
117 | underLine.setBackgroundColor(underlineColor);
118 | addView(underLine, 1);
119 |
120 | //初始化containerView并将其添加到DropDownMenu
121 | containerView = new FrameLayout(context);
122 | containerView.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
123 | addView(containerView, 2);
124 |
125 | }
126 |
127 | /**
128 | * 初始化DropDownMenu
129 | *
130 | * @param tabTexts
131 | * @param popupViews
132 | * @param contentView
133 | */
134 | public void setDropDownMenu(@NonNull List tabTexts, @NonNull List popupViews, @NonNull View contentView) {
135 | if (tabTexts.size() != popupViews.size()) {
136 | throw new IllegalArgumentException("params not match, tabTexts.size() should be equal popupViews.size()");
137 | }
138 |
139 | for (int i = 0; i < tabTexts.size(); i++) {
140 | addTab(tabTexts, i);
141 | }
142 | containerView.addView(contentView, 0);
143 |
144 | maskView = new View(getContext());
145 | maskView.setLayoutParams(new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT));
146 | maskView.setBackgroundColor(maskColor);
147 | maskView.setOnClickListener(new OnClickListener() {
148 | @Override
149 | public void onClick(View v) {
150 | closeMenu();
151 | }
152 | });
153 | containerView.addView(maskView, 1);
154 | maskView.setVisibility(GONE);
155 |
156 | popupMenuViews = new FrameLayout(getContext());
157 |
158 | if (isUsePopMenuHeightPercent)
159 | popupMenuViews.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams
160 | .MATCH_PARENT,(int)(DeviceUtils.getScreenSize(getContext()).y * popMenuHeightPercent)));
161 |
162 | popupMenuViews.setVisibility(GONE);
163 | containerView.addView(popupMenuViews, 2);
164 |
165 | for (int i = 0; i < popupViews.size(); i++) {
166 | popupViews.get(i).setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
167 | popupMenuViews.addView(popupViews.get(i), i);
168 | }
169 |
170 | }
171 |
172 | private void addTab(@NonNull List tabTexts, int i) {
173 |
174 | final View tabView = LayoutInflater.from(context).inflate(R.layout.tab_menu_ly,null);
175 | tabView.setLayoutParams(new LayoutParams(0, ViewGroup.LayoutParams
176 | .WRAP_CONTENT,1.0f));
177 | tabView.setPadding(dpTpPx(0), dpTpPx(12), dpTpPx(0), dpTpPx(12));
178 |
179 | TextView tabText = (TextView) tabView.findViewById(R.id.tab_menu_txt);
180 | ImageView tabImg = (ImageView) tabView.findViewById(R.id.tab_menu_img);
181 |
182 | tabText.setSingleLine();
183 | tabText.setEllipsize(TextUtils.TruncateAt.END);
184 | tabText.setTextSize(TypedValue.COMPLEX_UNIT_PX,menuTextSize);
185 | tabText.setTextColor(textUnselectedColor);
186 | tabText.setText(tabTexts.get(i));
187 | LayoutParams lp = (LayoutParams) tabText.getLayoutParams();
188 | lp.rightMargin = (int) getResources().getDimension(R.dimen.txt_to_img_distance);
189 | tabText.setLayoutParams(lp);
190 |
191 | tabImg.setImageResource(menuUnselectedIcon);
192 | tabImg.setLayoutParams(new LayoutParams((int)(getResources().getDimension(R.dimen
193 | .img_icon_width)),(int) (getResources().getDimension(R.dimen
194 | .img_icon_height))));
195 |
196 | tabView.setOnClickListener(new OnClickListener() {
197 | @Override
198 | public void onClick(View v) {
199 | switchMenu(tabView);
200 | }
201 | });
202 | tabMenuView.addView(tabView);
203 | //添加分割线
204 | if (i < tabTexts.size() - 1) {
205 | View view = new View(getContext());
206 | view.setLayoutParams(new LayoutParams(dpTpPx(0.5f), ViewGroup.LayoutParams.MATCH_PARENT));
207 | view.setBackgroundColor(dividerColor);
208 | tabMenuView.addView(view);
209 | }
210 | }
211 |
212 | /**
213 | * 改变tab文字
214 | *
215 | * @param text
216 | */
217 | public void setTabText(String text) {
218 | if (current_tab_position != -1) {
219 |
220 | LinearLayout ly = (LinearLayout) tabMenuView.getChildAt(current_tab_position);
221 | ((TextView)ly.getChildAt(0)).setText(text);
222 | }
223 | }
224 |
225 | public void setTabClickable(boolean clickable) {
226 | for (int i = 0; i < tabMenuView.getChildCount(); i = i + 2) {
227 | tabMenuView.getChildAt(i).setClickable(clickable);
228 | }
229 | }
230 |
231 | /**
232 | * 关闭菜单
233 | */
234 | public void closeMenu() {
235 | if (current_tab_position != -1) {
236 |
237 | LinearLayout ly = (LinearLayout) tabMenuView.getChildAt(current_tab_position);
238 | ((TextView)ly.getChildAt(0)).setTextColor(textUnselectedColor);
239 | ((ImageView)ly.getChildAt(1)).setImageResource(menuUnselectedIcon);
240 |
241 | popupMenuViews.setVisibility(View.GONE);
242 | popupMenuViews.setAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.dd_menu_out));
243 | maskView.setVisibility(GONE);
244 | maskView.setAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.dd_mask_out));
245 | current_tab_position = -1;
246 | }
247 |
248 | }
249 |
250 | /**
251 | * DropDownMenu是否处于可见状态
252 | *
253 | * @return
254 | */
255 | public boolean isShowing() {
256 | return current_tab_position != -1;
257 | }
258 |
259 | /**
260 | * 切换菜单
261 | *
262 | * @param target
263 | */
264 | private void switchMenu(View target) {
265 |
266 | for (int i = 0; i < tabMenuView.getChildCount(); i = i + 2) {
267 | if (target == tabMenuView.getChildAt(i)) {
268 | if (current_tab_position == i) {
269 | closeMenu();
270 | } else {
271 | if (current_tab_position == -1) {
272 | popupMenuViews.setVisibility(View.VISIBLE);
273 | popupMenuViews.setAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.dd_menu_in));
274 | maskView.setVisibility(VISIBLE);
275 | maskView.setAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.dd_mask_in));
276 | popupMenuViews.getChildAt(i / 2).setVisibility(View.VISIBLE);
277 | } else {
278 | popupMenuViews.getChildAt(i / 2).setVisibility(View.VISIBLE);
279 | }
280 | current_tab_position = i;
281 |
282 | LinearLayout ly = (LinearLayout) tabMenuView.getChildAt(i);
283 | ((TextView)ly.getChildAt(0)).setTextColor(textSelectedColor);
284 | ((ImageView)ly.getChildAt(1)).setImageResource(menuSelectedIcon);
285 |
286 | }
287 | } else {
288 |
289 | LinearLayout ly = (LinearLayout) tabMenuView.getChildAt(i);
290 | ((TextView)ly.getChildAt(0)).setTextColor(textUnselectedColor);
291 | ((ImageView)ly.getChildAt(1)).setImageResource(menuUnselectedIcon);
292 |
293 | popupMenuViews.getChildAt(i / 2).setVisibility(View.GONE);
294 | }
295 | }
296 | }
297 |
298 | public int dpTpPx(float value) {
299 | DisplayMetrics dm = getResources().getDisplayMetrics();
300 | return (int) (TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, value, dm) + 0.5);
301 | }
302 | }
303 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/java/com/qlh/dropdownmenu/adapter/TextAdapter.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropdownmenu.adapter;
2 |
3 | import android.content.Context;
4 | import android.util.TypedValue;
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 | import android.view.View.OnClickListener;
8 | import android.view.ViewGroup;
9 | import android.widget.ArrayAdapter;
10 | import android.widget.TextView;
11 |
12 | import com.qlh.dropdownmenu.R;
13 |
14 | import java.util.Arrays;
15 | import java.util.List;
16 |
17 |
18 | public class TextAdapter extends ArrayAdapter {
19 |
20 | private Context mContext;
21 | private List mListData;
22 | private String[] mArrayData;
23 | private int selectedPos = -1;
24 | private String selectedText = "";
25 | /**选中的背景图片*/
26 | private int selectBgId;
27 | /**未选中的背景图片*/
28 | private int unSelectBgId;
29 | /**选中的文字颜色*/
30 | private int selectTextColor;
31 | /**未选中的文字颜色*/
32 | private int unSelectTextColor;
33 | private float textSize;
34 | private OnClickListener onClickListener;
35 | private OnItemClickListener mOnItemClickListener;
36 |
37 | public TextAdapter(Context context, List listData, int selectBgId, int unSelectBgId,
38 | int selectTextColor,int unSelectTextColor ) {
39 | super(context, R.string.no_data, listData);
40 | mContext = context;
41 | mListData = listData;
42 | this.selectBgId = selectBgId;
43 | this.unSelectBgId = unSelectBgId;
44 | this.selectTextColor = selectTextColor;
45 | this.unSelectTextColor = unSelectTextColor;
46 |
47 | init();
48 | }
49 |
50 | public TextAdapter(Context context, String[] arrayData, int selectBgId, int unSelectBgId,
51 | int selectTextColor,int unSelectTextColor) {
52 |
53 | this(context, Arrays.asList(arrayData),selectBgId,unSelectBgId,selectTextColor,unSelectTextColor);
54 | }
55 |
56 | private void init() {
57 | onClickListener = new OnClickListener() {
58 |
59 | @Override
60 | public void onClick(View view) {
61 | selectedPos = (Integer) view.getTag();
62 | setSelectedPosition(selectedPos);
63 | if (mOnItemClickListener != null) {
64 | mOnItemClickListener.onItemClick(view, selectedPos);
65 | }
66 | }
67 | };
68 | }
69 |
70 | /**
71 | * 设置选中的position,并通知列表刷新
72 | */
73 | public void setSelectedPosition(int pos) {
74 | if (mListData != null && pos < mListData.size()) {
75 | selectedPos = pos;
76 | selectedText = mListData.get(pos);
77 | notifyDataSetChanged();
78 | } else if (mArrayData != null && pos < mArrayData.length) {
79 | selectedPos = pos;
80 | selectedText = mArrayData[pos];
81 | notifyDataSetChanged();
82 | }
83 |
84 | }
85 |
86 | /**
87 | * 设置选中的position,但不通知刷新
88 | */
89 | public void setSelectedPositionNoNotify(int pos) {
90 | selectedPos = pos;
91 | if (mListData != null && pos < mListData.size()) {
92 | selectedText = mListData.get(pos);
93 | } else if (mArrayData != null && pos < mArrayData.length) {
94 | selectedText = mArrayData[pos];
95 | }
96 | }
97 |
98 | /**
99 | * 获取选中的position
100 | */
101 | public int getSelectedPosition() {
102 | if (mArrayData != null && selectedPos < mArrayData.length) {
103 | return selectedPos;
104 | }
105 | if (mListData != null && selectedPos < mListData.size()) {
106 | return selectedPos;
107 | }
108 |
109 | return -1;
110 | }
111 |
112 | /**
113 | * 设置列表字体大小
114 | */
115 | public void setTextSize(float tSize) {
116 | textSize = tSize;
117 | }
118 |
119 | @Override
120 | public View getView(int position, View convertView, ViewGroup parent) {
121 | TextView view;
122 | if (convertView == null) {
123 | view = (TextView) LayoutInflater.from(mContext).inflate(R.layout.choose_item, parent, false);
124 | } else {
125 | view = (TextView) convertView;
126 | }
127 | view.setTag(position);
128 | String mString = "";
129 | if (mListData != null) {
130 | if (position < mListData.size()) {
131 | mString = mListData.get(position);
132 | }
133 | } else if (mArrayData != null) {
134 | if (position < mArrayData.length) {
135 | mString = mArrayData[position];
136 | }
137 | }
138 | if (mString.contains("不限"))
139 | view.setText("不限");
140 | else
141 | view.setText(mString);
142 | view.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
143 |
144 | if (selectedText != null && selectedText.equals(mString)) {
145 | //view.setBackgroundDrawable(selectBgId);//设置选中的背景图片
146 | view.setBackgroundResource(selectBgId);
147 | view.setTextColor(selectTextColor);
148 | } else {
149 | //view.setBackgroundDrawable(mContext.getResources().getDrawable(unSelectBgId));
150 | //设置未选中状态背景图片
151 | view.setBackgroundResource(unSelectBgId);
152 | view.setTextColor(unSelectTextColor);
153 | }
154 | //view.setPadding(20, 0, 0, 0);
155 | view.setOnClickListener(onClickListener);
156 | return view;
157 | }
158 |
159 | public void setOnItemClickListener(OnItemClickListener l) {
160 | mOnItemClickListener = l;
161 | }
162 |
163 | /**
164 | * 重新定义菜单选项单击接口
165 | */
166 | public interface OnItemClickListener {
167 | public void onItemClick(View view, int position);
168 | }
169 |
170 | }
171 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/java/com/qlh/dropdownmenu/view/MultiMenusView.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropdownmenu.view;
2 |
3 | import android.content.Context;
4 | import android.graphics.Color;
5 | import android.util.AttributeSet;
6 | import android.util.SparseArray;
7 | import android.view.LayoutInflater;
8 | import android.view.View;
9 | import android.widget.LinearLayout;
10 | import android.widget.ListView;
11 |
12 | import com.qlh.dropdownmenu.R;
13 | import com.qlh.dropdownmenu.adapter.TextAdapter;
14 |
15 | import java.util.ArrayList;
16 | import java.util.LinkedList;
17 |
18 | public class MultiMenusView extends LinearLayout implements ViewBaseAction {
19 |
20 | private ListView levelOneMenuListView;
21 | private ListView levelTwoMenuListView;
22 | /**一级菜单*/
23 | private String[] levelOneMenu;
24 | private ArrayList levelOneMenusList = new ArrayList();
25 | /**二级菜单*/
26 | private String[][] levelTwoMenu;
27 | private LinkedList levelTwoMenusList = new LinkedList();
28 | /**映射一级和二级菜单*/
29 | private SparseArray> children = new SparseArray>();
30 | /**一级菜单ListView适配器*/
31 | private TextAdapter levelTwoMenuListViewAdapter;
32 | /**二级菜单ListView适配器*/
33 | private TextAdapter levelOneMenuListViewAdapter;
34 | /**选中完成的监听器*/
35 | private OnSelectListener mOnSelectListener;
36 | /**一级菜单选中位置*/
37 | private int levelOneMenuPosition = 0;
38 | /**二级菜单选中位置*/
39 | private int levelTwoMenuPosition = 0;
40 | /**二级菜单最终选中的选项*/
41 | private String showString = "不限";
42 |
43 | public MultiMenusView(Context context,String[] levelOneMenu,String[][] levelTwoMenu) {
44 | super(context);
45 | this.levelOneMenu = levelOneMenu;
46 | this.levelTwoMenu = levelTwoMenu;
47 | init(context);
48 | }
49 |
50 | public MultiMenusView(Context context, AttributeSet attrs) {
51 | super(context, attrs);
52 | init(context);
53 | }
54 |
55 | public void updateShowText(String showArea, String showBlock) {
56 | if (showArea == null || showBlock == null) {
57 | return;
58 | }
59 | for (int i = 0; i < levelOneMenusList.size(); i++) {
60 | if (levelOneMenusList.get(i).equals(showArea)) {
61 | levelOneMenuListViewAdapter.setSelectedPosition(i);
62 | levelTwoMenusList.clear();
63 | if (i < children.size()) {
64 | levelTwoMenusList.addAll(children.get(i));
65 | }
66 | levelOneMenuPosition = i;
67 | break;
68 | }
69 | }
70 | for (int j = 0; j < levelTwoMenusList.size(); j++) {
71 | if (levelTwoMenusList.get(j).replace("不限", "").equals(showBlock.trim())) {
72 | levelTwoMenuListViewAdapter.setSelectedPosition(j);
73 | levelTwoMenuPosition = j;
74 | break;
75 | }
76 | }
77 | setDefaultSelect();
78 | }
79 |
80 |
81 | /**
82 | * 设置菜单内容
83 | */
84 | public void setMenuContent() {
85 |
86 | for (int i = 0; i < levelOneMenu.length; i++) {
87 | levelOneMenusList.add(levelOneMenu[i]);
88 | LinkedList tItem = new LinkedList();
89 | for (int j = 0; j < levelTwoMenu[i].length; j++) {
90 |
91 | tItem.add(levelTwoMenu[i][j]);
92 |
93 | }
94 | children.put(i, tItem);
95 | }
96 |
97 | }
98 |
99 | private void init(Context context) {
100 | LayoutInflater inflater = (LayoutInflater) context
101 | .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
102 | inflater.inflate(R.layout.view_multi_menu, this, true);
103 | levelOneMenuListView = (ListView) findViewById(R.id.level_one_menu_ls);
104 | levelTwoMenuListView = (ListView) findViewById(R.id.level_two_menu_ls);
105 |
106 | setBackgroundColor(Color.parseColor("#FFFFFF"));
107 | setMenuContent();
108 |
109 | levelOneMenuListViewAdapter = new TextAdapter(context, levelOneMenusList,
110 | R.drawable.choose_item_selected,
111 | R.drawable.choose_level_one_menu_item_selector, Color.parseColor("#0084ff"),Color.BLACK);
112 | levelOneMenuListViewAdapter.setTextSize(getResources().getDimension(R.dimen.x43));
113 | levelOneMenuListViewAdapter.setSelectedPositionNoNotify(levelOneMenuPosition);
114 | levelOneMenuListView.setAdapter(levelOneMenuListViewAdapter);
115 | levelOneMenuListViewAdapter
116 | .setOnItemClickListener(new TextAdapter.OnItemClickListener() {
117 |
118 | @Override
119 | public void onItemClick(View view, int position) {
120 | if (position < children.size()) {
121 | levelTwoMenusList.clear();
122 | levelTwoMenusList.addAll(children.get(position));
123 | levelTwoMenuListViewAdapter.notifyDataSetChanged();
124 | }
125 | }
126 | });
127 | //初始化菜单
128 | if (levelOneMenuPosition < children.size())
129 | levelTwoMenusList.addAll(children.get(levelOneMenuPosition));
130 |
131 | levelTwoMenuListViewAdapter = new TextAdapter(context, levelTwoMenusList,
132 | R.drawable.choose_item_selected,
133 | R.drawable.choose_level_two_menu_item_selector,Color.parseColor("#0084ff"),Color.BLACK);
134 | levelTwoMenuListViewAdapter.setTextSize(getResources().getDimension(R.dimen.x43));
135 | //levelTwoMenuListViewAdapter.setSelectedPositionNoNotify(levelTwoMenuPosition);
136 | levelTwoMenuListView.setAdapter(levelTwoMenuListViewAdapter);
137 | levelTwoMenuListViewAdapter
138 | .setOnItemClickListener(new TextAdapter.OnItemClickListener() {
139 |
140 | @Override
141 | public void onItemClick(View view, final int position) {
142 |
143 | showString = levelTwoMenusList.get(position);
144 | if (mOnSelectListener != null) {
145 |
146 | mOnSelectListener.getValue(showString);
147 | }
148 |
149 | }
150 | });
151 | //初始化选中二级菜单的选项
152 | if (levelTwoMenuPosition < levelTwoMenusList.size())
153 | showString = levelTwoMenusList.get(levelTwoMenuPosition);
154 |
155 | if (showString.contains("不限")) {
156 | showString = showString.replace("不限", "");
157 | }
158 | setDefaultSelect();
159 |
160 | }
161 |
162 | public void setDefaultSelect() {
163 | levelOneMenuListView.setSelection(levelOneMenuPosition);
164 | levelTwoMenuListView.setSelection(levelTwoMenuPosition);
165 | }
166 |
167 | public String getShowText() {
168 | return showString;
169 | }
170 |
171 | public void setOnSelectListener(OnSelectListener onSelectListener) {
172 | mOnSelectListener = onSelectListener;
173 | }
174 |
175 | public interface OnSelectListener {
176 | public void getValue(String showText);
177 | }
178 |
179 | @Override
180 | public void hide() {
181 | // TODO Auto-generated method stub
182 |
183 | }
184 |
185 | @Override
186 | public void show() {
187 | // TODO Auto-generated method stub
188 |
189 | }
190 | }
191 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/java/com/qlh/dropdownmenu/view/SingleMenuView.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropdownmenu.view;
2 |
3 |
4 | import android.content.Context;
5 | import android.graphics.Color;
6 | import android.util.AttributeSet;
7 | import android.view.LayoutInflater;
8 | import android.view.View;
9 | import android.widget.ListView;
10 | import android.widget.RelativeLayout;
11 |
12 | import com.qlh.dropdownmenu.R;
13 | import com.qlh.dropdownmenu.adapter.TextAdapter;
14 |
15 | import java.util.Arrays;
16 | import java.util.List;
17 |
18 |
19 |
20 | public class SingleMenuView extends RelativeLayout implements ViewBaseAction {
21 |
22 | private ListView mListView;
23 | private List items;//显示字段
24 | private OnSelectListener mOnSelectListener;//选中监听器
25 | private TextAdapter adapter;
26 | private int whichPosition = 0;//标记选中项顺序
27 | private String showText;//最终显示在Tab上的字符串
28 | private Context mContext;
29 |
30 | public String getShowText() {
31 | return showText;
32 | }
33 |
34 | public SingleMenuView(Context context, String[] arrays) {
35 | super(context);
36 | items = Arrays.asList(arrays);
37 | init(context);
38 | }
39 |
40 | public SingleMenuView(Context context, AttributeSet attrs, int defStyle) {
41 | super(context, attrs, defStyle);
42 | init(context);
43 | }
44 |
45 | public SingleMenuView(Context context, AttributeSet attrs) {
46 | super(context, attrs);
47 | init(context);
48 | }
49 |
50 | private void init(Context context) {
51 | mContext = context;
52 | LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
53 | inflater.inflate(R.layout.view_single_menu, this, true);
54 | mListView = (ListView) findViewById(R.id.listView);
55 |
56 | setBackgroundColor(Color.parseColor("#FFFFFF"));
57 |
58 | adapter = new TextAdapter(context, items, R.drawable.choose_item_selected,
59 | R.drawable.choose_level_one_menu_item_selector, Color.parseColor("#0084ff"), Color.BLACK);
60 | adapter.setTextSize(getResources().getDimension(R.dimen.txt_size));
61 | //是否需要展示默认的选项???
62 | adapter.setSelectedPositionNoNotify(whichPosition);
63 | mListView.setAdapter(adapter);
64 | adapter.setOnItemClickListener(new TextAdapter.OnItemClickListener() {
65 |
66 | @Override
67 | public void onItemClick(View view, int position) {
68 |
69 | if (mOnSelectListener != null) {
70 | showText = items.get(position);
71 | mOnSelectListener.getValue(position, items.get(position));
72 | }
73 | }
74 | });
75 | mListView.setSelection(whichPosition);
76 | }
77 |
78 | public void setOnSelectListener(OnSelectListener onSelectListener) {
79 | mOnSelectListener = onSelectListener;
80 | }
81 |
82 | public interface OnSelectListener {
83 | public void getValue(int position, String showText);
84 | }
85 |
86 | @Override
87 | public void hide() {
88 |
89 | }
90 |
91 | @Override
92 | public void show() {
93 |
94 | }
95 |
96 | }
97 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/java/com/qlh/dropdownmenu/view/ViewBaseAction.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropdownmenu.view;
2 |
3 | public interface ViewBaseAction {
4 |
5 | /**
6 | * 菜单隐藏操作
7 | */
8 | public void hide();
9 |
10 | /**
11 | * 菜单显示操作
12 | */
13 | public void show();
14 | }
15 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/anim/dd_mask_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/anim/dd_mask_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/anim/dd_menu_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/anim/dd_menu_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/drawable/choose_item_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/dropdownmenu/src/main/res/drawable/choose_item_selected.png
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/drawable/choose_level_one_menu_item_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/drawable/choose_level_two_menu_item_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/layout/choose_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/layout/tab_menu_ly.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
15 |
16 |
20 |
21 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/layout/view_multi_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
18 |
19 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/layout/view_single_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
15 |
16 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/values-1812x1080/lay_x.xml:
--------------------------------------------------------------------------------
1 |
2 | 1.0px
3 | 2.0px
4 | 3.0px
5 | 4.0px
6 | 5.0px
7 | 6.0px
8 | 7.0px
9 | 8.0px
10 | 9.0px
11 | 10.0px
12 | 11.0px
13 | 12.0px
14 | 13.0px
15 | 14.0px
16 | 15.0px
17 | 16.0px
18 | 17.0px
19 | 18.0px
20 | 19.0px
21 | 20.0px
22 | 21.0px
23 | 22.0px
24 | 23.0px
25 | 24.0px
26 | 25.0px
27 | 26.0px
28 | 27.0px
29 | 28.0px
30 | 29.0px
31 | 30.0px
32 | 31.0px
33 | 32.0px
34 | 33.0px
35 | 34.0px
36 | 35.0px
37 | 36.0px
38 | 37.0px
39 | 38.0px
40 | 39.0px
41 | 40.0px
42 | 41.0px
43 | 42.0px
44 | 43.0px
45 | 44.0px
46 | 45.0px
47 | 46.0px
48 | 47.0px
49 | 48.0px
50 | 49.0px
51 | 50.0px
52 | 51.0px
53 | 52.0px
54 | 53.0px
55 | 54.0px
56 | 55.0px
57 | 56.0px
58 | 57.0px
59 | 58.0px
60 | 59.0px
61 | 60.0px
62 | 61.0px
63 | 62.0px
64 | 63.0px
65 | 64.0px
66 | 65.0px
67 | 66.0px
68 | 67.0px
69 | 68.0px
70 | 69.0px
71 | 70.0px
72 | 71.0px
73 | 72.0px
74 | 73.0px
75 | 74.0px
76 | 75.0px
77 | 76.0px
78 | 77.0px
79 | 78.0px
80 | 79.0px
81 | 80.0px
82 | 81.0px
83 | 82.0px
84 | 83.0px
85 | 84.0px
86 | 85.0px
87 | 86.0px
88 | 87.0px
89 | 88.0px
90 | 89.0px
91 | 90.0px
92 | 91.0px
93 | 92.0px
94 | 93.0px
95 | 94.0px
96 | 95.0px
97 | 96.0px
98 | 97.0px
99 | 98.0px
100 | 99.0px
101 | 100.0px
102 | 101.0px
103 | 102.0px
104 | 103.0px
105 | 104.0px
106 | 105.0px
107 | 106.0px
108 | 107.0px
109 | 108.0px
110 | 109.0px
111 | 110.0px
112 | 111.0px
113 | 112.0px
114 | 113.0px
115 | 114.0px
116 | 115.0px
117 | 116.0px
118 | 117.0px
119 | 118.0px
120 | 119.0px
121 | 120.0px
122 | 121.0px
123 | 122.0px
124 | 123.0px
125 | 124.0px
126 | 125.0px
127 | 126.0px
128 | 127.0px
129 | 128.0px
130 | 129.0px
131 | 130.0px
132 | 131.0px
133 | 132.0px
134 | 133.0px
135 | 134.0px
136 | 135.0px
137 | 136.0px
138 | 137.0px
139 | 138.0px
140 | 139.0px
141 | 140.0px
142 | 141.0px
143 | 142.0px
144 | 143.0px
145 | 144.0px
146 | 145.0px
147 | 146.0px
148 | 147.0px
149 | 148.0px
150 | 149.0px
151 | 150.0px
152 | 151.0px
153 | 152.0px
154 | 153.0px
155 | 154.0px
156 | 155.0px
157 | 156.0px
158 | 157.0px
159 | 158.0px
160 | 159.0px
161 | 160.0px
162 | 161.0px
163 | 162.0px
164 | 163.0px
165 | 164.0px
166 | 165.0px
167 | 166.0px
168 | 167.0px
169 | 168.0px
170 | 169.0px
171 | 170.0px
172 | 171.0px
173 | 172.0px
174 | 173.0px
175 | 174.0px
176 | 175.0px
177 | 176.0px
178 | 177.0px
179 | 178.0px
180 | 179.0px
181 | 180.0px
182 | 181.0px
183 | 182.0px
184 | 183.0px
185 | 184.0px
186 | 185.0px
187 | 186.0px
188 | 187.0px
189 | 188.0px
190 | 189.0px
191 | 190.0px
192 | 191.0px
193 | 192.0px
194 | 193.0px
195 | 194.0px
196 | 195.0px
197 | 196.0px
198 | 197.0px
199 | 198.0px
200 | 199.0px
201 | 200.0px
202 | 201.0px
203 | 202.0px
204 | 203.0px
205 | 204.0px
206 | 205.0px
207 | 206.0px
208 | 207.0px
209 | 208.0px
210 | 209.0px
211 | 210.0px
212 | 211.0px
213 | 212.0px
214 | 213.0px
215 | 214.0px
216 | 215.0px
217 | 216.0px
218 | 217.0px
219 | 218.0px
220 | 219.0px
221 | 220.0px
222 | 221.0px
223 | 222.0px
224 | 223.0px
225 | 224.0px
226 | 225.0px
227 | 226.0px
228 | 227.0px
229 | 228.0px
230 | 229.0px
231 | 230.0px
232 | 231.0px
233 | 232.0px
234 | 233.0px
235 | 234.0px
236 | 235.0px
237 | 236.0px
238 | 237.0px
239 | 238.0px
240 | 239.0px
241 | 240.0px
242 | 241.0px
243 | 242.0px
244 | 243.0px
245 | 244.0px
246 | 245.0px
247 | 246.0px
248 | 247.0px
249 | 248.0px
250 | 249.0px
251 | 250.0px
252 | 251.0px
253 | 252.0px
254 | 253.0px
255 | 254.0px
256 | 255.0px
257 | 256.0px
258 | 257.0px
259 | 258.0px
260 | 259.0px
261 | 260.0px
262 | 261.0px
263 | 262.0px
264 | 263.0px
265 | 264.0px
266 | 265.0px
267 | 266.0px
268 | 267.0px
269 | 268.0px
270 | 269.0px
271 | 270.0px
272 | 271.0px
273 | 272.0px
274 | 273.0px
275 | 274.0px
276 | 275.0px
277 | 276.0px
278 | 277.0px
279 | 278.0px
280 | 279.0px
281 | 280.0px
282 | 281.0px
283 | 282.0px
284 | 283.0px
285 | 284.0px
286 | 285.0px
287 | 286.0px
288 | 287.0px
289 | 288.0px
290 | 289.0px
291 | 290.0px
292 | 291.0px
293 | 292.0px
294 | 293.0px
295 | 294.0px
296 | 295.0px
297 | 296.0px
298 | 297.0px
299 | 298.0px
300 | 299.0px
301 | 300.0px
302 | 301.0px
303 | 302.0px
304 | 303.0px
305 | 304.0px
306 | 305.0px
307 | 306.0px
308 | 307.0px
309 | 308.0px
310 | 309.0px
311 | 310.0px
312 | 311.0px
313 | 312.0px
314 | 313.0px
315 | 314.0px
316 | 315.0px
317 | 316.0px
318 | 317.0px
319 | 318.0px
320 | 319.0px
321 | 320.0px
322 | 321.0px
323 | 322.0px
324 | 323.0px
325 | 324.0px
326 | 325.0px
327 | 326.0px
328 | 327.0px
329 | 328.0px
330 | 329.0px
331 | 330.0px
332 | 331.0px
333 | 332.0px
334 | 333.0px
335 | 334.0px
336 | 335.0px
337 | 336.0px
338 | 337.0px
339 | 338.0px
340 | 339.0px
341 | 340.0px
342 | 341.0px
343 | 342.0px
344 | 343.0px
345 | 344.0px
346 | 345.0px
347 | 346.0px
348 | 347.0px
349 | 348.0px
350 | 349.0px
351 | 350.0px
352 | 351.0px
353 | 352.0px
354 | 353.0px
355 | 354.0px
356 | 355.0px
357 | 356.0px
358 | 357.0px
359 | 358.0px
360 | 359.0px
361 | 360.0px
362 | 361.0px
363 | 362.0px
364 | 363.0px
365 | 364.0px
366 | 365.0px
367 | 366.0px
368 | 367.0px
369 | 368.0px
370 | 369.0px
371 | 370.0px
372 | 371.0px
373 | 372.0px
374 | 373.0px
375 | 374.0px
376 | 375.0px
377 | 376.0px
378 | 377.0px
379 | 378.0px
380 | 379.0px
381 | 380.0px
382 | 381.0px
383 | 382.0px
384 | 383.0px
385 | 384.0px
386 | 385.0px
387 | 386.0px
388 | 387.0px
389 | 388.0px
390 | 389.0px
391 | 390.0px
392 | 391.0px
393 | 392.0px
394 | 393.0px
395 | 394.0px
396 | 395.0px
397 | 396.0px
398 | 397.0px
399 | 398.0px
400 | 399.0px
401 | 400.0px
402 | 401.0px
403 | 402.0px
404 | 403.0px
405 | 404.0px
406 | 405.0px
407 | 406.0px
408 | 407.0px
409 | 408.0px
410 | 409.0px
411 | 410.0px
412 | 411.0px
413 | 412.0px
414 | 413.0px
415 | 414.0px
416 | 415.0px
417 | 416.0px
418 | 417.0px
419 | 418.0px
420 | 419.0px
421 | 420.0px
422 | 421.0px
423 | 422.0px
424 | 423.0px
425 | 424.0px
426 | 425.0px
427 | 426.0px
428 | 427.0px
429 | 428.0px
430 | 429.0px
431 | 430.0px
432 | 431.0px
433 | 432.0px
434 | 433.0px
435 | 434.0px
436 | 435.0px
437 | 436.0px
438 | 437.0px
439 | 438.0px
440 | 439.0px
441 | 440.0px
442 | 441.0px
443 | 442.0px
444 | 443.0px
445 | 444.0px
446 | 445.0px
447 | 446.0px
448 | 447.0px
449 | 448.0px
450 | 449.0px
451 | 450.0px
452 | 451.0px
453 | 452.0px
454 | 453.0px
455 | 454.0px
456 | 455.0px
457 | 456.0px
458 | 457.0px
459 | 458.0px
460 | 459.0px
461 | 460.0px
462 | 461.0px
463 | 462.0px
464 | 463.0px
465 | 464.0px
466 | 465.0px
467 | 466.0px
468 | 467.0px
469 | 468.0px
470 | 469.0px
471 | 470.0px
472 | 471.0px
473 | 472.0px
474 | 473.0px
475 | 474.0px
476 | 475.0px
477 | 476.0px
478 | 477.0px
479 | 478.0px
480 | 479.0px
481 | 480.0px
482 | 481.0px
483 | 482.0px
484 | 483.0px
485 | 484.0px
486 | 485.0px
487 | 486.0px
488 | 487.0px
489 | 488.0px
490 | 489.0px
491 | 490.0px
492 | 491.0px
493 | 492.0px
494 | 493.0px
495 | 494.0px
496 | 495.0px
497 | 496.0px
498 | 497.0px
499 | 498.0px
500 | 499.0px
501 | 500.0px
502 | 501.0px
503 | 502.0px
504 | 503.0px
505 | 504.0px
506 | 505.0px
507 | 506.0px
508 | 507.0px
509 | 508.0px
510 | 509.0px
511 | 510.0px
512 | 511.0px
513 | 512.0px
514 | 513.0px
515 | 514.0px
516 | 515.0px
517 | 516.0px
518 | 517.0px
519 | 518.0px
520 | 519.0px
521 | 520.0px
522 | 521.0px
523 | 522.0px
524 | 523.0px
525 | 524.0px
526 | 525.0px
527 | 526.0px
528 | 527.0px
529 | 528.0px
530 | 529.0px
531 | 530.0px
532 | 531.0px
533 | 532.0px
534 | 533.0px
535 | 534.0px
536 | 535.0px
537 | 536.0px
538 | 537.0px
539 | 538.0px
540 | 539.0px
541 | 540.0px
542 | 541.0px
543 | 542.0px
544 | 543.0px
545 | 544.0px
546 | 545.0px
547 | 546.0px
548 | 547.0px
549 | 548.0px
550 | 549.0px
551 | 550.0px
552 | 551.0px
553 | 552.0px
554 | 553.0px
555 | 554.0px
556 | 555.0px
557 | 556.0px
558 | 557.0px
559 | 558.0px
560 | 559.0px
561 | 560.0px
562 | 561.0px
563 | 562.0px
564 | 563.0px
565 | 564.0px
566 | 565.0px
567 | 566.0px
568 | 567.0px
569 | 568.0px
570 | 569.0px
571 | 570.0px
572 | 571.0px
573 | 572.0px
574 | 573.0px
575 | 574.0px
576 | 575.0px
577 | 576.0px
578 | 577.0px
579 | 578.0px
580 | 579.0px
581 | 580.0px
582 | 581.0px
583 | 582.0px
584 | 583.0px
585 | 584.0px
586 | 585.0px
587 | 586.0px
588 | 587.0px
589 | 588.0px
590 | 589.0px
591 | 590.0px
592 | 591.0px
593 | 592.0px
594 | 593.0px
595 | 594.0px
596 | 595.0px
597 | 596.0px
598 | 597.0px
599 | 598.0px
600 | 599.0px
601 | 600.0px
602 | 601.0px
603 | 602.0px
604 | 603.0px
605 | 604.0px
606 | 605.0px
607 | 606.0px
608 | 607.0px
609 | 608.0px
610 | 609.0px
611 | 610.0px
612 | 611.0px
613 | 612.0px
614 | 613.0px
615 | 614.0px
616 | 615.0px
617 | 616.0px
618 | 617.0px
619 | 618.0px
620 | 619.0px
621 | 620.0px
622 | 621.0px
623 | 622.0px
624 | 623.0px
625 | 624.0px
626 | 625.0px
627 | 626.0px
628 | 627.0px
629 | 628.0px
630 | 629.0px
631 | 630.0px
632 | 631.0px
633 | 632.0px
634 | 633.0px
635 | 634.0px
636 | 635.0px
637 | 636.0px
638 | 637.0px
639 | 638.0px
640 | 639.0px
641 | 640.0px
642 | 641.0px
643 | 642.0px
644 | 643.0px
645 | 644.0px
646 | 645.0px
647 | 646.0px
648 | 647.0px
649 | 648.0px
650 | 649.0px
651 | 650.0px
652 | 651.0px
653 | 652.0px
654 | 653.0px
655 | 654.0px
656 | 655.0px
657 | 656.0px
658 | 657.0px
659 | 658.0px
660 | 659.0px
661 | 660.0px
662 | 661.0px
663 | 662.0px
664 | 663.0px
665 | 664.0px
666 | 665.0px
667 | 666.0px
668 | 667.0px
669 | 668.0px
670 | 669.0px
671 | 670.0px
672 | 671.0px
673 | 672.0px
674 | 673.0px
675 | 674.0px
676 | 675.0px
677 | 676.0px
678 | 677.0px
679 | 678.0px
680 | 679.0px
681 | 680.0px
682 | 681.0px
683 | 682.0px
684 | 683.0px
685 | 684.0px
686 | 685.0px
687 | 686.0px
688 | 687.0px
689 | 688.0px
690 | 689.0px
691 | 690.0px
692 | 691.0px
693 | 692.0px
694 | 693.0px
695 | 694.0px
696 | 695.0px
697 | 696.0px
698 | 697.0px
699 | 698.0px
700 | 699.0px
701 | 700.0px
702 | 701.0px
703 | 702.0px
704 | 703.0px
705 | 704.0px
706 | 705.0px
707 | 706.0px
708 | 707.0px
709 | 708.0px
710 | 709.0px
711 | 710.0px
712 | 711.0px
713 | 712.0px
714 | 713.0px
715 | 714.0px
716 | 715.0px
717 | 716.0px
718 | 717.0px
719 | 718.0px
720 | 719.0px
721 | 720.0px
722 | 721.0px
723 | 722.0px
724 | 723.0px
725 | 724.0px
726 | 725.0px
727 | 726.0px
728 | 727.0px
729 | 728.0px
730 | 729.0px
731 | 730.0px
732 | 731.0px
733 | 732.0px
734 | 733.0px
735 | 734.0px
736 | 735.0px
737 | 736.0px
738 | 737.0px
739 | 738.0px
740 | 739.0px
741 | 740.0px
742 | 741.0px
743 | 742.0px
744 | 743.0px
745 | 744.0px
746 | 745.0px
747 | 746.0px
748 | 747.0px
749 | 748.0px
750 | 749.0px
751 | 750.0px
752 | 751.0px
753 | 752.0px
754 | 753.0px
755 | 754.0px
756 | 755.0px
757 | 756.0px
758 | 757.0px
759 | 758.0px
760 | 759.0px
761 | 760.0px
762 | 761.0px
763 | 762.0px
764 | 763.0px
765 | 764.0px
766 | 765.0px
767 | 766.0px
768 | 767.0px
769 | 768.0px
770 | 769.0px
771 | 770.0px
772 | 771.0px
773 | 772.0px
774 | 773.0px
775 | 774.0px
776 | 775.0px
777 | 776.0px
778 | 777.0px
779 | 778.0px
780 | 779.0px
781 | 780.0px
782 | 781.0px
783 | 782.0px
784 | 783.0px
785 | 784.0px
786 | 785.0px
787 | 786.0px
788 | 787.0px
789 | 788.0px
790 | 789.0px
791 | 790.0px
792 | 791.0px
793 | 792.0px
794 | 793.0px
795 | 794.0px
796 | 795.0px
797 | 796.0px
798 | 797.0px
799 | 798.0px
800 | 799.0px
801 | 800.0px
802 | 801.0px
803 | 802.0px
804 | 803.0px
805 | 804.0px
806 | 805.0px
807 | 806.0px
808 | 807.0px
809 | 808.0px
810 | 809.0px
811 | 810.0px
812 | 811.0px
813 | 812.0px
814 | 813.0px
815 | 814.0px
816 | 815.0px
817 | 816.0px
818 | 817.0px
819 | 818.0px
820 | 819.0px
821 | 820.0px
822 | 821.0px
823 | 822.0px
824 | 823.0px
825 | 824.0px
826 | 825.0px
827 | 826.0px
828 | 827.0px
829 | 828.0px
830 | 829.0px
831 | 830.0px
832 | 831.0px
833 | 832.0px
834 | 833.0px
835 | 834.0px
836 | 835.0px
837 | 836.0px
838 | 837.0px
839 | 838.0px
840 | 839.0px
841 | 840.0px
842 | 841.0px
843 | 842.0px
844 | 843.0px
845 | 844.0px
846 | 845.0px
847 | 846.0px
848 | 847.0px
849 | 848.0px
850 | 849.0px
851 | 850.0px
852 | 851.0px
853 | 852.0px
854 | 853.0px
855 | 854.0px
856 | 855.0px
857 | 856.0px
858 | 857.0px
859 | 858.0px
860 | 859.0px
861 | 860.0px
862 | 861.0px
863 | 862.0px
864 | 863.0px
865 | 864.0px
866 | 865.0px
867 | 866.0px
868 | 867.0px
869 | 868.0px
870 | 869.0px
871 | 870.0px
872 | 871.0px
873 | 872.0px
874 | 873.0px
875 | 874.0px
876 | 875.0px
877 | 876.0px
878 | 877.0px
879 | 878.0px
880 | 879.0px
881 | 880.0px
882 | 881.0px
883 | 882.0px
884 | 883.0px
885 | 884.0px
886 | 885.0px
887 | 886.0px
888 | 887.0px
889 | 888.0px
890 | 889.0px
891 | 890.0px
892 | 891.0px
893 | 892.0px
894 | 893.0px
895 | 894.0px
896 | 895.0px
897 | 896.0px
898 | 897.0px
899 | 898.0px
900 | 899.0px
901 | 900.0px
902 | 901.0px
903 | 902.0px
904 | 903.0px
905 | 904.0px
906 | 905.0px
907 | 906.0px
908 | 907.0px
909 | 908.0px
910 | 909.0px
911 | 910.0px
912 | 911.0px
913 | 912.0px
914 | 913.0px
915 | 914.0px
916 | 915.0px
917 | 916.0px
918 | 917.0px
919 | 918.0px
920 | 919.0px
921 | 920.0px
922 | 921.0px
923 | 922.0px
924 | 923.0px
925 | 924.0px
926 | 925.0px
927 | 926.0px
928 | 927.0px
929 | 928.0px
930 | 929.0px
931 | 930.0px
932 | 931.0px
933 | 932.0px
934 | 933.0px
935 | 934.0px
936 | 935.0px
937 | 936.0px
938 | 937.0px
939 | 938.0px
940 | 939.0px
941 | 940.0px
942 | 941.0px
943 | 942.0px
944 | 943.0px
945 | 944.0px
946 | 945.0px
947 | 946.0px
948 | 947.0px
949 | 948.0px
950 | 949.0px
951 | 950.0px
952 | 951.0px
953 | 952.0px
954 | 953.0px
955 | 954.0px
956 | 955.0px
957 | 956.0px
958 | 957.0px
959 | 958.0px
960 | 959.0px
961 | 960.0px
962 | 961.0px
963 | 962.0px
964 | 963.0px
965 | 964.0px
966 | 965.0px
967 | 966.0px
968 | 967.0px
969 | 968.0px
970 | 969.0px
971 | 970.0px
972 | 971.0px
973 | 972.0px
974 | 973.0px
975 | 974.0px
976 | 975.0px
977 | 976.0px
978 | 977.0px
979 | 978.0px
980 | 979.0px
981 | 980.0px
982 | 981.0px
983 | 982.0px
984 | 983.0px
985 | 984.0px
986 | 985.0px
987 | 986.0px
988 | 987.0px
989 | 988.0px
990 | 989.0px
991 | 990.0px
992 | 991.0px
993 | 992.0px
994 | 993.0px
995 | 994.0px
996 | 995.0px
997 | 996.0px
998 | 997.0px
999 | 998.0px
1000 | 999.0px
1001 | 1000.0px
1002 | 1001.0px
1003 | 1002.0px
1004 | 1003.0px
1005 | 1004.0px
1006 | 1005.0px
1007 | 1006.0px
1008 | 1007.0px
1009 | 1008.0px
1010 | 1009.0px
1011 | 1010.0px
1012 | 1011.0px
1013 | 1012.0px
1014 | 1013.0px
1015 | 1014.0px
1016 | 1015.0px
1017 | 1016.0px
1018 | 1017.0px
1019 | 1018.0px
1020 | 1019.0px
1021 | 1020.0px
1022 | 1021.0px
1023 | 1022.0px
1024 | 1023.0px
1025 | 1024.0px
1026 | 1025.0px
1027 | 1026.0px
1028 | 1027.0px
1029 | 1028.0px
1030 | 1029.0px
1031 | 1030.0px
1032 | 1031.0px
1033 | 1032.0px
1034 | 1033.0px
1035 | 1034.0px
1036 | 1035.0px
1037 | 1036.0px
1038 | 1037.0px
1039 | 1038.0px
1040 | 1039.0px
1041 | 1040.0px
1042 | 1041.0px
1043 | 1042.0px
1044 | 1043.0px
1045 | 1044.0px
1046 | 1045.0px
1047 | 1046.0px
1048 | 1047.0px
1049 | 1048.0px
1050 | 1049.0px
1051 | 1050.0px
1052 | 1051.0px
1053 | 1052.0px
1054 | 1053.0px
1055 | 1054.0px
1056 | 1055.0px
1057 | 1056.0px
1058 | 1057.0px
1059 | 1058.0px
1060 | 1059.0px
1061 | 1060.0px
1062 | 1061.0px
1063 | 1062.0px
1064 | 1063.0px
1065 | 1064.0px
1066 | 1065.0px
1067 | 1066.0px
1068 | 1067.0px
1069 | 1068.0px
1070 | 1069.0px
1071 | 1070.0px
1072 | 1071.0px
1073 | 1072.0px
1074 | 1073.0px
1075 | 1074.0px
1076 | 1075.0px
1077 | 1076.0px
1078 | 1077.0px
1079 | 1078.0px
1080 | 1079.0px
1081 | 1080px
1082 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/values-1920x1080/lay_x.xml:
--------------------------------------------------------------------------------
1 |
2 | 1.0px
3 | 2.0px
4 | 3.0px
5 | 4.0px
6 | 5.0px
7 | 6.0px
8 | 7.0px
9 | 8.0px
10 | 9.0px
11 | 10.0px
12 | 11.0px
13 | 12.0px
14 | 13.0px
15 | 14.0px
16 | 15.0px
17 | 16.0px
18 | 17.0px
19 | 18.0px
20 | 19.0px
21 | 20.0px
22 | 21.0px
23 | 22.0px
24 | 23.0px
25 | 24.0px
26 | 25.0px
27 | 26.0px
28 | 27.0px
29 | 28.0px
30 | 29.0px
31 | 30.0px
32 | 31.0px
33 | 32.0px
34 | 33.0px
35 | 34.0px
36 | 35.0px
37 | 36.0px
38 | 37.0px
39 | 38.0px
40 | 39.0px
41 | 40.0px
42 | 41.0px
43 | 42.0px
44 | 43.0px
45 | 44.0px
46 | 45.0px
47 | 46.0px
48 | 47.0px
49 | 48.0px
50 | 49.0px
51 | 50.0px
52 | 51.0px
53 | 52.0px
54 | 53.0px
55 | 54.0px
56 | 55.0px
57 | 56.0px
58 | 57.0px
59 | 58.0px
60 | 59.0px
61 | 60.0px
62 | 61.0px
63 | 62.0px
64 | 63.0px
65 | 64.0px
66 | 65.0px
67 | 66.0px
68 | 67.0px
69 | 68.0px
70 | 69.0px
71 | 70.0px
72 | 71.0px
73 | 72.0px
74 | 73.0px
75 | 74.0px
76 | 75.0px
77 | 76.0px
78 | 77.0px
79 | 78.0px
80 | 79.0px
81 | 80.0px
82 | 81.0px
83 | 82.0px
84 | 83.0px
85 | 84.0px
86 | 85.0px
87 | 86.0px
88 | 87.0px
89 | 88.0px
90 | 89.0px
91 | 90.0px
92 | 91.0px
93 | 92.0px
94 | 93.0px
95 | 94.0px
96 | 95.0px
97 | 96.0px
98 | 97.0px
99 | 98.0px
100 | 99.0px
101 | 100.0px
102 | 101.0px
103 | 102.0px
104 | 103.0px
105 | 104.0px
106 | 105.0px
107 | 106.0px
108 | 107.0px
109 | 108.0px
110 | 109.0px
111 | 110.0px
112 | 111.0px
113 | 112.0px
114 | 113.0px
115 | 114.0px
116 | 115.0px
117 | 116.0px
118 | 117.0px
119 | 118.0px
120 | 119.0px
121 | 120.0px
122 | 121.0px
123 | 122.0px
124 | 123.0px
125 | 124.0px
126 | 125.0px
127 | 126.0px
128 | 127.0px
129 | 128.0px
130 | 129.0px
131 | 130.0px
132 | 131.0px
133 | 132.0px
134 | 133.0px
135 | 134.0px
136 | 135.0px
137 | 136.0px
138 | 137.0px
139 | 138.0px
140 | 139.0px
141 | 140.0px
142 | 141.0px
143 | 142.0px
144 | 143.0px
145 | 144.0px
146 | 145.0px
147 | 146.0px
148 | 147.0px
149 | 148.0px
150 | 149.0px
151 | 150.0px
152 | 151.0px
153 | 152.0px
154 | 153.0px
155 | 154.0px
156 | 155.0px
157 | 156.0px
158 | 157.0px
159 | 158.0px
160 | 159.0px
161 | 160.0px
162 | 161.0px
163 | 162.0px
164 | 163.0px
165 | 164.0px
166 | 165.0px
167 | 166.0px
168 | 167.0px
169 | 168.0px
170 | 169.0px
171 | 170.0px
172 | 171.0px
173 | 172.0px
174 | 173.0px
175 | 174.0px
176 | 175.0px
177 | 176.0px
178 | 177.0px
179 | 178.0px
180 | 179.0px
181 | 180.0px
182 | 181.0px
183 | 182.0px
184 | 183.0px
185 | 184.0px
186 | 185.0px
187 | 186.0px
188 | 187.0px
189 | 188.0px
190 | 189.0px
191 | 190.0px
192 | 191.0px
193 | 192.0px
194 | 193.0px
195 | 194.0px
196 | 195.0px
197 | 196.0px
198 | 197.0px
199 | 198.0px
200 | 199.0px
201 | 200.0px
202 | 201.0px
203 | 202.0px
204 | 203.0px
205 | 204.0px
206 | 205.0px
207 | 206.0px
208 | 207.0px
209 | 208.0px
210 | 209.0px
211 | 210.0px
212 | 211.0px
213 | 212.0px
214 | 213.0px
215 | 214.0px
216 | 215.0px
217 | 216.0px
218 | 217.0px
219 | 218.0px
220 | 219.0px
221 | 220.0px
222 | 221.0px
223 | 222.0px
224 | 223.0px
225 | 224.0px
226 | 225.0px
227 | 226.0px
228 | 227.0px
229 | 228.0px
230 | 229.0px
231 | 230.0px
232 | 231.0px
233 | 232.0px
234 | 233.0px
235 | 234.0px
236 | 235.0px
237 | 236.0px
238 | 237.0px
239 | 238.0px
240 | 239.0px
241 | 240.0px
242 | 241.0px
243 | 242.0px
244 | 243.0px
245 | 244.0px
246 | 245.0px
247 | 246.0px
248 | 247.0px
249 | 248.0px
250 | 249.0px
251 | 250.0px
252 | 251.0px
253 | 252.0px
254 | 253.0px
255 | 254.0px
256 | 255.0px
257 | 256.0px
258 | 257.0px
259 | 258.0px
260 | 259.0px
261 | 260.0px
262 | 261.0px
263 | 262.0px
264 | 263.0px
265 | 264.0px
266 | 265.0px
267 | 266.0px
268 | 267.0px
269 | 268.0px
270 | 269.0px
271 | 270.0px
272 | 271.0px
273 | 272.0px
274 | 273.0px
275 | 274.0px
276 | 275.0px
277 | 276.0px
278 | 277.0px
279 | 278.0px
280 | 279.0px
281 | 280.0px
282 | 281.0px
283 | 282.0px
284 | 283.0px
285 | 284.0px
286 | 285.0px
287 | 286.0px
288 | 287.0px
289 | 288.0px
290 | 289.0px
291 | 290.0px
292 | 291.0px
293 | 292.0px
294 | 293.0px
295 | 294.0px
296 | 295.0px
297 | 296.0px
298 | 297.0px
299 | 298.0px
300 | 299.0px
301 | 300.0px
302 | 301.0px
303 | 302.0px
304 | 303.0px
305 | 304.0px
306 | 305.0px
307 | 306.0px
308 | 307.0px
309 | 308.0px
310 | 309.0px
311 | 310.0px
312 | 311.0px
313 | 312.0px
314 | 313.0px
315 | 314.0px
316 | 315.0px
317 | 316.0px
318 | 317.0px
319 | 318.0px
320 | 319.0px
321 | 320.0px
322 | 321.0px
323 | 322.0px
324 | 323.0px
325 | 324.0px
326 | 325.0px
327 | 326.0px
328 | 327.0px
329 | 328.0px
330 | 329.0px
331 | 330.0px
332 | 331.0px
333 | 332.0px
334 | 333.0px
335 | 334.0px
336 | 335.0px
337 | 336.0px
338 | 337.0px
339 | 338.0px
340 | 339.0px
341 | 340.0px
342 | 341.0px
343 | 342.0px
344 | 343.0px
345 | 344.0px
346 | 345.0px
347 | 346.0px
348 | 347.0px
349 | 348.0px
350 | 349.0px
351 | 350.0px
352 | 351.0px
353 | 352.0px
354 | 353.0px
355 | 354.0px
356 | 355.0px
357 | 356.0px
358 | 357.0px
359 | 358.0px
360 | 359.0px
361 | 360.0px
362 | 361.0px
363 | 362.0px
364 | 363.0px
365 | 364.0px
366 | 365.0px
367 | 366.0px
368 | 367.0px
369 | 368.0px
370 | 369.0px
371 | 370.0px
372 | 371.0px
373 | 372.0px
374 | 373.0px
375 | 374.0px
376 | 375.0px
377 | 376.0px
378 | 377.0px
379 | 378.0px
380 | 379.0px
381 | 380.0px
382 | 381.0px
383 | 382.0px
384 | 383.0px
385 | 384.0px
386 | 385.0px
387 | 386.0px
388 | 387.0px
389 | 388.0px
390 | 389.0px
391 | 390.0px
392 | 391.0px
393 | 392.0px
394 | 393.0px
395 | 394.0px
396 | 395.0px
397 | 396.0px
398 | 397.0px
399 | 398.0px
400 | 399.0px
401 | 400.0px
402 | 401.0px
403 | 402.0px
404 | 403.0px
405 | 404.0px
406 | 405.0px
407 | 406.0px
408 | 407.0px
409 | 408.0px
410 | 409.0px
411 | 410.0px
412 | 411.0px
413 | 412.0px
414 | 413.0px
415 | 414.0px
416 | 415.0px
417 | 416.0px
418 | 417.0px
419 | 418.0px
420 | 419.0px
421 | 420.0px
422 | 421.0px
423 | 422.0px
424 | 423.0px
425 | 424.0px
426 | 425.0px
427 | 426.0px
428 | 427.0px
429 | 428.0px
430 | 429.0px
431 | 430.0px
432 | 431.0px
433 | 432.0px
434 | 433.0px
435 | 434.0px
436 | 435.0px
437 | 436.0px
438 | 437.0px
439 | 438.0px
440 | 439.0px
441 | 440.0px
442 | 441.0px
443 | 442.0px
444 | 443.0px
445 | 444.0px
446 | 445.0px
447 | 446.0px
448 | 447.0px
449 | 448.0px
450 | 449.0px
451 | 450.0px
452 | 451.0px
453 | 452.0px
454 | 453.0px
455 | 454.0px
456 | 455.0px
457 | 456.0px
458 | 457.0px
459 | 458.0px
460 | 459.0px
461 | 460.0px
462 | 461.0px
463 | 462.0px
464 | 463.0px
465 | 464.0px
466 | 465.0px
467 | 466.0px
468 | 467.0px
469 | 468.0px
470 | 469.0px
471 | 470.0px
472 | 471.0px
473 | 472.0px
474 | 473.0px
475 | 474.0px
476 | 475.0px
477 | 476.0px
478 | 477.0px
479 | 478.0px
480 | 479.0px
481 | 480.0px
482 | 481.0px
483 | 482.0px
484 | 483.0px
485 | 484.0px
486 | 485.0px
487 | 486.0px
488 | 487.0px
489 | 488.0px
490 | 489.0px
491 | 490.0px
492 | 491.0px
493 | 492.0px
494 | 493.0px
495 | 494.0px
496 | 495.0px
497 | 496.0px
498 | 497.0px
499 | 498.0px
500 | 499.0px
501 | 500.0px
502 | 501.0px
503 | 502.0px
504 | 503.0px
505 | 504.0px
506 | 505.0px
507 | 506.0px
508 | 507.0px
509 | 508.0px
510 | 509.0px
511 | 510.0px
512 | 511.0px
513 | 512.0px
514 | 513.0px
515 | 514.0px
516 | 515.0px
517 | 516.0px
518 | 517.0px
519 | 518.0px
520 | 519.0px
521 | 520.0px
522 | 521.0px
523 | 522.0px
524 | 523.0px
525 | 524.0px
526 | 525.0px
527 | 526.0px
528 | 527.0px
529 | 528.0px
530 | 529.0px
531 | 530.0px
532 | 531.0px
533 | 532.0px
534 | 533.0px
535 | 534.0px
536 | 535.0px
537 | 536.0px
538 | 537.0px
539 | 538.0px
540 | 539.0px
541 | 540.0px
542 | 541.0px
543 | 542.0px
544 | 543.0px
545 | 544.0px
546 | 545.0px
547 | 546.0px
548 | 547.0px
549 | 548.0px
550 | 549.0px
551 | 550.0px
552 | 551.0px
553 | 552.0px
554 | 553.0px
555 | 554.0px
556 | 555.0px
557 | 556.0px
558 | 557.0px
559 | 558.0px
560 | 559.0px
561 | 560.0px
562 | 561.0px
563 | 562.0px
564 | 563.0px
565 | 564.0px
566 | 565.0px
567 | 566.0px
568 | 567.0px
569 | 568.0px
570 | 569.0px
571 | 570.0px
572 | 571.0px
573 | 572.0px
574 | 573.0px
575 | 574.0px
576 | 575.0px
577 | 576.0px
578 | 577.0px
579 | 578.0px
580 | 579.0px
581 | 580.0px
582 | 581.0px
583 | 582.0px
584 | 583.0px
585 | 584.0px
586 | 585.0px
587 | 586.0px
588 | 587.0px
589 | 588.0px
590 | 589.0px
591 | 590.0px
592 | 591.0px
593 | 592.0px
594 | 593.0px
595 | 594.0px
596 | 595.0px
597 | 596.0px
598 | 597.0px
599 | 598.0px
600 | 599.0px
601 | 600.0px
602 | 601.0px
603 | 602.0px
604 | 603.0px
605 | 604.0px
606 | 605.0px
607 | 606.0px
608 | 607.0px
609 | 608.0px
610 | 609.0px
611 | 610.0px
612 | 611.0px
613 | 612.0px
614 | 613.0px
615 | 614.0px
616 | 615.0px
617 | 616.0px
618 | 617.0px
619 | 618.0px
620 | 619.0px
621 | 620.0px
622 | 621.0px
623 | 622.0px
624 | 623.0px
625 | 624.0px
626 | 625.0px
627 | 626.0px
628 | 627.0px
629 | 628.0px
630 | 629.0px
631 | 630.0px
632 | 631.0px
633 | 632.0px
634 | 633.0px
635 | 634.0px
636 | 635.0px
637 | 636.0px
638 | 637.0px
639 | 638.0px
640 | 639.0px
641 | 640.0px
642 | 641.0px
643 | 642.0px
644 | 643.0px
645 | 644.0px
646 | 645.0px
647 | 646.0px
648 | 647.0px
649 | 648.0px
650 | 649.0px
651 | 650.0px
652 | 651.0px
653 | 652.0px
654 | 653.0px
655 | 654.0px
656 | 655.0px
657 | 656.0px
658 | 657.0px
659 | 658.0px
660 | 659.0px
661 | 660.0px
662 | 661.0px
663 | 662.0px
664 | 663.0px
665 | 664.0px
666 | 665.0px
667 | 666.0px
668 | 667.0px
669 | 668.0px
670 | 669.0px
671 | 670.0px
672 | 671.0px
673 | 672.0px
674 | 673.0px
675 | 674.0px
676 | 675.0px
677 | 676.0px
678 | 677.0px
679 | 678.0px
680 | 679.0px
681 | 680.0px
682 | 681.0px
683 | 682.0px
684 | 683.0px
685 | 684.0px
686 | 685.0px
687 | 686.0px
688 | 687.0px
689 | 688.0px
690 | 689.0px
691 | 690.0px
692 | 691.0px
693 | 692.0px
694 | 693.0px
695 | 694.0px
696 | 695.0px
697 | 696.0px
698 | 697.0px
699 | 698.0px
700 | 699.0px
701 | 700.0px
702 | 701.0px
703 | 702.0px
704 | 703.0px
705 | 704.0px
706 | 705.0px
707 | 706.0px
708 | 707.0px
709 | 708.0px
710 | 709.0px
711 | 710.0px
712 | 711.0px
713 | 712.0px
714 | 713.0px
715 | 714.0px
716 | 715.0px
717 | 716.0px
718 | 717.0px
719 | 718.0px
720 | 719.0px
721 | 720.0px
722 | 721.0px
723 | 722.0px
724 | 723.0px
725 | 724.0px
726 | 725.0px
727 | 726.0px
728 | 727.0px
729 | 728.0px
730 | 729.0px
731 | 730.0px
732 | 731.0px
733 | 732.0px
734 | 733.0px
735 | 734.0px
736 | 735.0px
737 | 736.0px
738 | 737.0px
739 | 738.0px
740 | 739.0px
741 | 740.0px
742 | 741.0px
743 | 742.0px
744 | 743.0px
745 | 744.0px
746 | 745.0px
747 | 746.0px
748 | 747.0px
749 | 748.0px
750 | 749.0px
751 | 750.0px
752 | 751.0px
753 | 752.0px
754 | 753.0px
755 | 754.0px
756 | 755.0px
757 | 756.0px
758 | 757.0px
759 | 758.0px
760 | 759.0px
761 | 760.0px
762 | 761.0px
763 | 762.0px
764 | 763.0px
765 | 764.0px
766 | 765.0px
767 | 766.0px
768 | 767.0px
769 | 768.0px
770 | 769.0px
771 | 770.0px
772 | 771.0px
773 | 772.0px
774 | 773.0px
775 | 774.0px
776 | 775.0px
777 | 776.0px
778 | 777.0px
779 | 778.0px
780 | 779.0px
781 | 780.0px
782 | 781.0px
783 | 782.0px
784 | 783.0px
785 | 784.0px
786 | 785.0px
787 | 786.0px
788 | 787.0px
789 | 788.0px
790 | 789.0px
791 | 790.0px
792 | 791.0px
793 | 792.0px
794 | 793.0px
795 | 794.0px
796 | 795.0px
797 | 796.0px
798 | 797.0px
799 | 798.0px
800 | 799.0px
801 | 800.0px
802 | 801.0px
803 | 802.0px
804 | 803.0px
805 | 804.0px
806 | 805.0px
807 | 806.0px
808 | 807.0px
809 | 808.0px
810 | 809.0px
811 | 810.0px
812 | 811.0px
813 | 812.0px
814 | 813.0px
815 | 814.0px
816 | 815.0px
817 | 816.0px
818 | 817.0px
819 | 818.0px
820 | 819.0px
821 | 820.0px
822 | 821.0px
823 | 822.0px
824 | 823.0px
825 | 824.0px
826 | 825.0px
827 | 826.0px
828 | 827.0px
829 | 828.0px
830 | 829.0px
831 | 830.0px
832 | 831.0px
833 | 832.0px
834 | 833.0px
835 | 834.0px
836 | 835.0px
837 | 836.0px
838 | 837.0px
839 | 838.0px
840 | 839.0px
841 | 840.0px
842 | 841.0px
843 | 842.0px
844 | 843.0px
845 | 844.0px
846 | 845.0px
847 | 846.0px
848 | 847.0px
849 | 848.0px
850 | 849.0px
851 | 850.0px
852 | 851.0px
853 | 852.0px
854 | 853.0px
855 | 854.0px
856 | 855.0px
857 | 856.0px
858 | 857.0px
859 | 858.0px
860 | 859.0px
861 | 860.0px
862 | 861.0px
863 | 862.0px
864 | 863.0px
865 | 864.0px
866 | 865.0px
867 | 866.0px
868 | 867.0px
869 | 868.0px
870 | 869.0px
871 | 870.0px
872 | 871.0px
873 | 872.0px
874 | 873.0px
875 | 874.0px
876 | 875.0px
877 | 876.0px
878 | 877.0px
879 | 878.0px
880 | 879.0px
881 | 880.0px
882 | 881.0px
883 | 882.0px
884 | 883.0px
885 | 884.0px
886 | 885.0px
887 | 886.0px
888 | 887.0px
889 | 888.0px
890 | 889.0px
891 | 890.0px
892 | 891.0px
893 | 892.0px
894 | 893.0px
895 | 894.0px
896 | 895.0px
897 | 896.0px
898 | 897.0px
899 | 898.0px
900 | 899.0px
901 | 900.0px
902 | 901.0px
903 | 902.0px
904 | 903.0px
905 | 904.0px
906 | 905.0px
907 | 906.0px
908 | 907.0px
909 | 908.0px
910 | 909.0px
911 | 910.0px
912 | 911.0px
913 | 912.0px
914 | 913.0px
915 | 914.0px
916 | 915.0px
917 | 916.0px
918 | 917.0px
919 | 918.0px
920 | 919.0px
921 | 920.0px
922 | 921.0px
923 | 922.0px
924 | 923.0px
925 | 924.0px
926 | 925.0px
927 | 926.0px
928 | 927.0px
929 | 928.0px
930 | 929.0px
931 | 930.0px
932 | 931.0px
933 | 932.0px
934 | 933.0px
935 | 934.0px
936 | 935.0px
937 | 936.0px
938 | 937.0px
939 | 938.0px
940 | 939.0px
941 | 940.0px
942 | 941.0px
943 | 942.0px
944 | 943.0px
945 | 944.0px
946 | 945.0px
947 | 946.0px
948 | 947.0px
949 | 948.0px
950 | 949.0px
951 | 950.0px
952 | 951.0px
953 | 952.0px
954 | 953.0px
955 | 954.0px
956 | 955.0px
957 | 956.0px
958 | 957.0px
959 | 958.0px
960 | 959.0px
961 | 960.0px
962 | 961.0px
963 | 962.0px
964 | 963.0px
965 | 964.0px
966 | 965.0px
967 | 966.0px
968 | 967.0px
969 | 968.0px
970 | 969.0px
971 | 970.0px
972 | 971.0px
973 | 972.0px
974 | 973.0px
975 | 974.0px
976 | 975.0px
977 | 976.0px
978 | 977.0px
979 | 978.0px
980 | 979.0px
981 | 980.0px
982 | 981.0px
983 | 982.0px
984 | 983.0px
985 | 984.0px
986 | 985.0px
987 | 986.0px
988 | 987.0px
989 | 988.0px
990 | 989.0px
991 | 990.0px
992 | 991.0px
993 | 992.0px
994 | 993.0px
995 | 994.0px
996 | 995.0px
997 | 996.0px
998 | 997.0px
999 | 998.0px
1000 | 999.0px
1001 | 1000.0px
1002 | 1001.0px
1003 | 1002.0px
1004 | 1003.0px
1005 | 1004.0px
1006 | 1005.0px
1007 | 1006.0px
1008 | 1007.0px
1009 | 1008.0px
1010 | 1009.0px
1011 | 1010.0px
1012 | 1011.0px
1013 | 1012.0px
1014 | 1013.0px
1015 | 1014.0px
1016 | 1015.0px
1017 | 1016.0px
1018 | 1017.0px
1019 | 1018.0px
1020 | 1019.0px
1021 | 1020.0px
1022 | 1021.0px
1023 | 1022.0px
1024 | 1023.0px
1025 | 1024.0px
1026 | 1025.0px
1027 | 1026.0px
1028 | 1027.0px
1029 | 1028.0px
1030 | 1029.0px
1031 | 1030.0px
1032 | 1031.0px
1033 | 1032.0px
1034 | 1033.0px
1035 | 1034.0px
1036 | 1035.0px
1037 | 1036.0px
1038 | 1037.0px
1039 | 1038.0px
1040 | 1039.0px
1041 | 1040.0px
1042 | 1041.0px
1043 | 1042.0px
1044 | 1043.0px
1045 | 1044.0px
1046 | 1045.0px
1047 | 1046.0px
1048 | 1047.0px
1049 | 1048.0px
1050 | 1049.0px
1051 | 1050.0px
1052 | 1051.0px
1053 | 1052.0px
1054 | 1053.0px
1055 | 1054.0px
1056 | 1055.0px
1057 | 1056.0px
1058 | 1057.0px
1059 | 1058.0px
1060 | 1059.0px
1061 | 1060.0px
1062 | 1061.0px
1063 | 1062.0px
1064 | 1063.0px
1065 | 1064.0px
1066 | 1065.0px
1067 | 1066.0px
1068 | 1067.0px
1069 | 1068.0px
1070 | 1069.0px
1071 | 1070.0px
1072 | 1071.0px
1073 | 1072.0px
1074 | 1073.0px
1075 | 1074.0px
1076 | 1075.0px
1077 | 1076.0px
1078 | 1077.0px
1079 | 1078.0px
1080 | 1079.0px
1081 | 1080px
1082 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/values-960x540/lay_x.xml:
--------------------------------------------------------------------------------
1 |
2 | 0.5px
3 | 1.0px
4 | 1.5px
5 | 2.0px
6 | 2.5px
7 | 3.0px
8 | 3.5px
9 | 4.0px
10 | 4.5px
11 | 5.0px
12 | 5.5px
13 | 6.0px
14 | 6.5px
15 | 7.0px
16 | 7.5px
17 | 8.0px
18 | 8.5px
19 | 9.0px
20 | 9.5px
21 | 10.0px
22 | 10.5px
23 | 11.0px
24 | 11.5px
25 | 12.0px
26 | 12.5px
27 | 13.0px
28 | 13.5px
29 | 14.0px
30 | 14.5px
31 | 15.0px
32 | 15.5px
33 | 16.0px
34 | 16.5px
35 | 17.0px
36 | 17.5px
37 | 18.0px
38 | 18.5px
39 | 19.0px
40 | 19.5px
41 | 20.0px
42 | 20.5px
43 | 21.0px
44 | 21.5px
45 | 22.0px
46 | 22.5px
47 | 23.0px
48 | 23.5px
49 | 24.0px
50 | 24.5px
51 | 25.0px
52 | 25.5px
53 | 26.0px
54 | 26.5px
55 | 27.0px
56 | 27.5px
57 | 28.0px
58 | 28.5px
59 | 29.0px
60 | 29.5px
61 | 30.0px
62 | 30.5px
63 | 31.0px
64 | 31.5px
65 | 32.0px
66 | 32.5px
67 | 33.0px
68 | 33.5px
69 | 34.0px
70 | 34.5px
71 | 35.0px
72 | 35.5px
73 | 36.0px
74 | 36.5px
75 | 37.0px
76 | 37.5px
77 | 38.0px
78 | 38.5px
79 | 39.0px
80 | 39.5px
81 | 40.0px
82 | 40.5px
83 | 41.0px
84 | 41.5px
85 | 42.0px
86 | 42.5px
87 | 43.0px
88 | 43.5px
89 | 44.0px
90 | 44.5px
91 | 45.0px
92 | 45.5px
93 | 46.0px
94 | 46.5px
95 | 47.0px
96 | 47.5px
97 | 48.0px
98 | 48.5px
99 | 49.0px
100 | 49.5px
101 | 50.0px
102 | 50.5px
103 | 51.0px
104 | 51.5px
105 | 52.0px
106 | 52.5px
107 | 53.0px
108 | 53.5px
109 | 54.0px
110 | 54.5px
111 | 55.0px
112 | 55.5px
113 | 56.0px
114 | 56.5px
115 | 57.0px
116 | 57.5px
117 | 58.0px
118 | 58.5px
119 | 59.0px
120 | 59.5px
121 | 60.0px
122 | 60.5px
123 | 61.0px
124 | 61.5px
125 | 62.0px
126 | 62.5px
127 | 63.0px
128 | 63.5px
129 | 64.0px
130 | 64.5px
131 | 65.0px
132 | 65.5px
133 | 66.0px
134 | 66.5px
135 | 67.0px
136 | 67.5px
137 | 68.0px
138 | 68.5px
139 | 69.0px
140 | 69.5px
141 | 70.0px
142 | 70.5px
143 | 71.0px
144 | 71.5px
145 | 72.0px
146 | 72.5px
147 | 73.0px
148 | 73.5px
149 | 74.0px
150 | 74.5px
151 | 75.0px
152 | 75.5px
153 | 76.0px
154 | 76.5px
155 | 77.0px
156 | 77.5px
157 | 78.0px
158 | 78.5px
159 | 79.0px
160 | 79.5px
161 | 80.0px
162 | 80.5px
163 | 81.0px
164 | 81.5px
165 | 82.0px
166 | 82.5px
167 | 83.0px
168 | 83.5px
169 | 84.0px
170 | 84.5px
171 | 85.0px
172 | 85.5px
173 | 86.0px
174 | 86.5px
175 | 87.0px
176 | 87.5px
177 | 88.0px
178 | 88.5px
179 | 89.0px
180 | 89.5px
181 | 90.0px
182 | 90.5px
183 | 91.0px
184 | 91.5px
185 | 92.0px
186 | 92.5px
187 | 93.0px
188 | 93.5px
189 | 94.0px
190 | 94.5px
191 | 95.0px
192 | 95.5px
193 | 96.0px
194 | 96.5px
195 | 97.0px
196 | 97.5px
197 | 98.0px
198 | 98.5px
199 | 99.0px
200 | 99.5px
201 | 100.0px
202 | 100.5px
203 | 101.0px
204 | 101.5px
205 | 102.0px
206 | 102.5px
207 | 103.0px
208 | 103.5px
209 | 104.0px
210 | 104.5px
211 | 105.0px
212 | 105.5px
213 | 106.0px
214 | 106.5px
215 | 107.0px
216 | 107.5px
217 | 108.0px
218 | 108.5px
219 | 109.0px
220 | 109.5px
221 | 110.0px
222 | 110.5px
223 | 111.0px
224 | 111.5px
225 | 112.0px
226 | 112.5px
227 | 113.0px
228 | 113.5px
229 | 114.0px
230 | 114.5px
231 | 115.0px
232 | 115.5px
233 | 116.0px
234 | 116.5px
235 | 117.0px
236 | 117.5px
237 | 118.0px
238 | 118.5px
239 | 119.0px
240 | 119.5px
241 | 120.0px
242 | 120.5px
243 | 121.0px
244 | 121.5px
245 | 122.0px
246 | 122.5px
247 | 123.0px
248 | 123.5px
249 | 124.0px
250 | 124.5px
251 | 125.0px
252 | 125.5px
253 | 126.0px
254 | 126.5px
255 | 127.0px
256 | 127.5px
257 | 128.0px
258 | 128.5px
259 | 129.0px
260 | 129.5px
261 | 130.0px
262 | 130.5px
263 | 131.0px
264 | 131.5px
265 | 132.0px
266 | 132.5px
267 | 133.0px
268 | 133.5px
269 | 134.0px
270 | 134.5px
271 | 135.0px
272 | 135.5px
273 | 136.0px
274 | 136.5px
275 | 137.0px
276 | 137.5px
277 | 138.0px
278 | 138.5px
279 | 139.0px
280 | 139.5px
281 | 140.0px
282 | 140.5px
283 | 141.0px
284 | 141.5px
285 | 142.0px
286 | 142.5px
287 | 143.0px
288 | 143.5px
289 | 144.0px
290 | 144.5px
291 | 145.0px
292 | 145.5px
293 | 146.0px
294 | 146.5px
295 | 147.0px
296 | 147.5px
297 | 148.0px
298 | 148.5px
299 | 149.0px
300 | 149.5px
301 | 150.0px
302 | 150.5px
303 | 151.0px
304 | 151.5px
305 | 152.0px
306 | 152.5px
307 | 153.0px
308 | 153.5px
309 | 154.0px
310 | 154.5px
311 | 155.0px
312 | 155.5px
313 | 156.0px
314 | 156.5px
315 | 157.0px
316 | 157.5px
317 | 158.0px
318 | 158.5px
319 | 159.0px
320 | 159.5px
321 | 160.0px
322 | 160.5px
323 | 161.0px
324 | 161.5px
325 | 162.0px
326 | 162.5px
327 | 163.0px
328 | 163.5px
329 | 164.0px
330 | 164.5px
331 | 165.0px
332 | 165.5px
333 | 166.0px
334 | 166.5px
335 | 167.0px
336 | 167.5px
337 | 168.0px
338 | 168.5px
339 | 169.0px
340 | 169.5px
341 | 170.0px
342 | 170.5px
343 | 171.0px
344 | 171.5px
345 | 172.0px
346 | 172.5px
347 | 173.0px
348 | 173.5px
349 | 174.0px
350 | 174.5px
351 | 175.0px
352 | 175.5px
353 | 176.0px
354 | 176.5px
355 | 177.0px
356 | 177.5px
357 | 178.0px
358 | 178.5px
359 | 179.0px
360 | 179.5px
361 | 180.0px
362 | 180.5px
363 | 181.0px
364 | 181.5px
365 | 182.0px
366 | 182.5px
367 | 183.0px
368 | 183.5px
369 | 184.0px
370 | 184.5px
371 | 185.0px
372 | 185.5px
373 | 186.0px
374 | 186.5px
375 | 187.0px
376 | 187.5px
377 | 188.0px
378 | 188.5px
379 | 189.0px
380 | 189.5px
381 | 190.0px
382 | 190.5px
383 | 191.0px
384 | 191.5px
385 | 192.0px
386 | 192.5px
387 | 193.0px
388 | 193.5px
389 | 194.0px
390 | 194.5px
391 | 195.0px
392 | 195.5px
393 | 196.0px
394 | 196.5px
395 | 197.0px
396 | 197.5px
397 | 198.0px
398 | 198.5px
399 | 199.0px
400 | 199.5px
401 | 200.0px
402 | 200.5px
403 | 201.0px
404 | 201.5px
405 | 202.0px
406 | 202.5px
407 | 203.0px
408 | 203.5px
409 | 204.0px
410 | 204.5px
411 | 205.0px
412 | 205.5px
413 | 206.0px
414 | 206.5px
415 | 207.0px
416 | 207.5px
417 | 208.0px
418 | 208.5px
419 | 209.0px
420 | 209.5px
421 | 210.0px
422 | 210.5px
423 | 211.0px
424 | 211.5px
425 | 212.0px
426 | 212.5px
427 | 213.0px
428 | 213.5px
429 | 214.0px
430 | 214.5px
431 | 215.0px
432 | 215.5px
433 | 216.0px
434 | 216.5px
435 | 217.0px
436 | 217.5px
437 | 218.0px
438 | 218.5px
439 | 219.0px
440 | 219.5px
441 | 220.0px
442 | 220.5px
443 | 221.0px
444 | 221.5px
445 | 222.0px
446 | 222.5px
447 | 223.0px
448 | 223.5px
449 | 224.0px
450 | 224.5px
451 | 225.0px
452 | 225.5px
453 | 226.0px
454 | 226.5px
455 | 227.0px
456 | 227.5px
457 | 228.0px
458 | 228.5px
459 | 229.0px
460 | 229.5px
461 | 230.0px
462 | 230.5px
463 | 231.0px
464 | 231.5px
465 | 232.0px
466 | 232.5px
467 | 233.0px
468 | 233.5px
469 | 234.0px
470 | 234.5px
471 | 235.0px
472 | 235.5px
473 | 236.0px
474 | 236.5px
475 | 237.0px
476 | 237.5px
477 | 238.0px
478 | 238.5px
479 | 239.0px
480 | 239.5px
481 | 240.0px
482 | 240.5px
483 | 241.0px
484 | 241.5px
485 | 242.0px
486 | 242.5px
487 | 243.0px
488 | 243.5px
489 | 244.0px
490 | 244.5px
491 | 245.0px
492 | 245.5px
493 | 246.0px
494 | 246.5px
495 | 247.0px
496 | 247.5px
497 | 248.0px
498 | 248.5px
499 | 249.0px
500 | 249.5px
501 | 250.0px
502 | 250.5px
503 | 251.0px
504 | 251.5px
505 | 252.0px
506 | 252.5px
507 | 253.0px
508 | 253.5px
509 | 254.0px
510 | 254.5px
511 | 255.0px
512 | 255.5px
513 | 256.0px
514 | 256.5px
515 | 257.0px
516 | 257.5px
517 | 258.0px
518 | 258.5px
519 | 259.0px
520 | 259.5px
521 | 260.0px
522 | 260.5px
523 | 261.0px
524 | 261.5px
525 | 262.0px
526 | 262.5px
527 | 263.0px
528 | 263.5px
529 | 264.0px
530 | 264.5px
531 | 265.0px
532 | 265.5px
533 | 266.0px
534 | 266.5px
535 | 267.0px
536 | 267.5px
537 | 268.0px
538 | 268.5px
539 | 269.0px
540 | 269.5px
541 | 270.0px
542 | 270.5px
543 | 271.0px
544 | 271.5px
545 | 272.0px
546 | 272.5px
547 | 273.0px
548 | 273.5px
549 | 274.0px
550 | 274.5px
551 | 275.0px
552 | 275.5px
553 | 276.0px
554 | 276.5px
555 | 277.0px
556 | 277.5px
557 | 278.0px
558 | 278.5px
559 | 279.0px
560 | 279.5px
561 | 280.0px
562 | 280.5px
563 | 281.0px
564 | 281.5px
565 | 282.0px
566 | 282.5px
567 | 283.0px
568 | 283.5px
569 | 284.0px
570 | 284.5px
571 | 285.0px
572 | 285.5px
573 | 286.0px
574 | 286.5px
575 | 287.0px
576 | 287.5px
577 | 288.0px
578 | 288.5px
579 | 289.0px
580 | 289.5px
581 | 290.0px
582 | 290.5px
583 | 291.0px
584 | 291.5px
585 | 292.0px
586 | 292.5px
587 | 293.0px
588 | 293.5px
589 | 294.0px
590 | 294.5px
591 | 295.0px
592 | 295.5px
593 | 296.0px
594 | 296.5px
595 | 297.0px
596 | 297.5px
597 | 298.0px
598 | 298.5px
599 | 299.0px
600 | 299.5px
601 | 300.0px
602 | 300.5px
603 | 301.0px
604 | 301.5px
605 | 302.0px
606 | 302.5px
607 | 303.0px
608 | 303.5px
609 | 304.0px
610 | 304.5px
611 | 305.0px
612 | 305.5px
613 | 306.0px
614 | 306.5px
615 | 307.0px
616 | 307.5px
617 | 308.0px
618 | 308.5px
619 | 309.0px
620 | 309.5px
621 | 310.0px
622 | 310.5px
623 | 311.0px
624 | 311.5px
625 | 312.0px
626 | 312.5px
627 | 313.0px
628 | 313.5px
629 | 314.0px
630 | 314.5px
631 | 315.0px
632 | 315.5px
633 | 316.0px
634 | 316.5px
635 | 317.0px
636 | 317.5px
637 | 318.0px
638 | 318.5px
639 | 319.0px
640 | 319.5px
641 | 320.0px
642 | 320.5px
643 | 321.0px
644 | 321.5px
645 | 322.0px
646 | 322.5px
647 | 323.0px
648 | 323.5px
649 | 324.0px
650 | 324.5px
651 | 325.0px
652 | 325.5px
653 | 326.0px
654 | 326.5px
655 | 327.0px
656 | 327.5px
657 | 328.0px
658 | 328.5px
659 | 329.0px
660 | 329.5px
661 | 330.0px
662 | 330.5px
663 | 331.0px
664 | 331.5px
665 | 332.0px
666 | 332.5px
667 | 333.0px
668 | 333.5px
669 | 334.0px
670 | 334.5px
671 | 335.0px
672 | 335.5px
673 | 336.0px
674 | 336.5px
675 | 337.0px
676 | 337.5px
677 | 338.0px
678 | 338.5px
679 | 339.0px
680 | 339.5px
681 | 340.0px
682 | 340.5px
683 | 341.0px
684 | 341.5px
685 | 342.0px
686 | 342.5px
687 | 343.0px
688 | 343.5px
689 | 344.0px
690 | 344.5px
691 | 345.0px
692 | 345.5px
693 | 346.0px
694 | 346.5px
695 | 347.0px
696 | 347.5px
697 | 348.0px
698 | 348.5px
699 | 349.0px
700 | 349.5px
701 | 350.0px
702 | 350.5px
703 | 351.0px
704 | 351.5px
705 | 352.0px
706 | 352.5px
707 | 353.0px
708 | 353.5px
709 | 354.0px
710 | 354.5px
711 | 355.0px
712 | 355.5px
713 | 356.0px
714 | 356.5px
715 | 357.0px
716 | 357.5px
717 | 358.0px
718 | 358.5px
719 | 359.0px
720 | 359.5px
721 | 360.0px
722 | 360.5px
723 | 361.0px
724 | 361.5px
725 | 362.0px
726 | 362.5px
727 | 363.0px
728 | 363.5px
729 | 364.0px
730 | 364.5px
731 | 365.0px
732 | 365.5px
733 | 366.0px
734 | 366.5px
735 | 367.0px
736 | 367.5px
737 | 368.0px
738 | 368.5px
739 | 369.0px
740 | 369.5px
741 | 370.0px
742 | 370.5px
743 | 371.0px
744 | 371.5px
745 | 372.0px
746 | 372.5px
747 | 373.0px
748 | 373.5px
749 | 374.0px
750 | 374.5px
751 | 375.0px
752 | 375.5px
753 | 376.0px
754 | 376.5px
755 | 377.0px
756 | 377.5px
757 | 378.0px
758 | 378.5px
759 | 379.0px
760 | 379.5px
761 | 380.0px
762 | 380.5px
763 | 381.0px
764 | 381.5px
765 | 382.0px
766 | 382.5px
767 | 383.0px
768 | 383.5px
769 | 384.0px
770 | 384.5px
771 | 385.0px
772 | 385.5px
773 | 386.0px
774 | 386.5px
775 | 387.0px
776 | 387.5px
777 | 388.0px
778 | 388.5px
779 | 389.0px
780 | 389.5px
781 | 390.0px
782 | 390.5px
783 | 391.0px
784 | 391.5px
785 | 392.0px
786 | 392.5px
787 | 393.0px
788 | 393.5px
789 | 394.0px
790 | 394.5px
791 | 395.0px
792 | 395.5px
793 | 396.0px
794 | 396.5px
795 | 397.0px
796 | 397.5px
797 | 398.0px
798 | 398.5px
799 | 399.0px
800 | 399.5px
801 | 400.0px
802 | 400.5px
803 | 401.0px
804 | 401.5px
805 | 402.0px
806 | 402.5px
807 | 403.0px
808 | 403.5px
809 | 404.0px
810 | 404.5px
811 | 405.0px
812 | 405.5px
813 | 406.0px
814 | 406.5px
815 | 407.0px
816 | 407.5px
817 | 408.0px
818 | 408.5px
819 | 409.0px
820 | 409.5px
821 | 410.0px
822 | 410.5px
823 | 411.0px
824 | 411.5px
825 | 412.0px
826 | 412.5px
827 | 413.0px
828 | 413.5px
829 | 414.0px
830 | 414.5px
831 | 415.0px
832 | 415.5px
833 | 416.0px
834 | 416.5px
835 | 417.0px
836 | 417.5px
837 | 418.0px
838 | 418.5px
839 | 419.0px
840 | 419.5px
841 | 420.0px
842 | 420.5px
843 | 421.0px
844 | 421.5px
845 | 422.0px
846 | 422.5px
847 | 423.0px
848 | 423.5px
849 | 424.0px
850 | 424.5px
851 | 425.0px
852 | 425.5px
853 | 426.0px
854 | 426.5px
855 | 427.0px
856 | 427.5px
857 | 428.0px
858 | 428.5px
859 | 429.0px
860 | 429.5px
861 | 430.0px
862 | 430.5px
863 | 431.0px
864 | 431.5px
865 | 432.0px
866 | 432.5px
867 | 433.0px
868 | 433.5px
869 | 434.0px
870 | 434.5px
871 | 435.0px
872 | 435.5px
873 | 436.0px
874 | 436.5px
875 | 437.0px
876 | 437.5px
877 | 438.0px
878 | 438.5px
879 | 439.0px
880 | 439.5px
881 | 440.0px
882 | 440.5px
883 | 441.0px
884 | 441.5px
885 | 442.0px
886 | 442.5px
887 | 443.0px
888 | 443.5px
889 | 444.0px
890 | 444.5px
891 | 445.0px
892 | 445.5px
893 | 446.0px
894 | 446.5px
895 | 447.0px
896 | 447.5px
897 | 448.0px
898 | 448.5px
899 | 449.0px
900 | 449.5px
901 | 450.0px
902 | 450.5px
903 | 451.0px
904 | 451.5px
905 | 452.0px
906 | 452.5px
907 | 453.0px
908 | 453.5px
909 | 454.0px
910 | 454.5px
911 | 455.0px
912 | 455.5px
913 | 456.0px
914 | 456.5px
915 | 457.0px
916 | 457.5px
917 | 458.0px
918 | 458.5px
919 | 459.0px
920 | 459.5px
921 | 460.0px
922 | 460.5px
923 | 461.0px
924 | 461.5px
925 | 462.0px
926 | 462.5px
927 | 463.0px
928 | 463.5px
929 | 464.0px
930 | 464.5px
931 | 465.0px
932 | 465.5px
933 | 466.0px
934 | 466.5px
935 | 467.0px
936 | 467.5px
937 | 468.0px
938 | 468.5px
939 | 469.0px
940 | 469.5px
941 | 470.0px
942 | 470.5px
943 | 471.0px
944 | 471.5px
945 | 472.0px
946 | 472.5px
947 | 473.0px
948 | 473.5px
949 | 474.0px
950 | 474.5px
951 | 475.0px
952 | 475.5px
953 | 476.0px
954 | 476.5px
955 | 477.0px
956 | 477.5px
957 | 478.0px
958 | 478.5px
959 | 479.0px
960 | 479.5px
961 | 480.0px
962 | 480.5px
963 | 481.0px
964 | 481.5px
965 | 482.0px
966 | 482.5px
967 | 483.0px
968 | 483.5px
969 | 484.0px
970 | 484.5px
971 | 485.0px
972 | 485.5px
973 | 486.0px
974 | 486.5px
975 | 487.0px
976 | 487.5px
977 | 488.0px
978 | 488.5px
979 | 489.0px
980 | 489.5px
981 | 490.0px
982 | 490.5px
983 | 491.0px
984 | 491.5px
985 | 492.0px
986 | 492.5px
987 | 493.0px
988 | 493.5px
989 | 494.0px
990 | 494.5px
991 | 495.0px
992 | 495.5px
993 | 496.0px
994 | 496.5px
995 | 497.0px
996 | 497.5px
997 | 498.0px
998 | 498.5px
999 | 499.0px
1000 | 499.5px
1001 | 500.0px
1002 | 500.5px
1003 | 501.0px
1004 | 501.5px
1005 | 502.0px
1006 | 502.5px
1007 | 503.0px
1008 | 503.5px
1009 | 504.0px
1010 | 504.5px
1011 | 505.0px
1012 | 505.5px
1013 | 506.0px
1014 | 506.5px
1015 | 507.0px
1016 | 507.5px
1017 | 508.0px
1018 | 508.5px
1019 | 509.0px
1020 | 509.5px
1021 | 510.0px
1022 | 510.5px
1023 | 511.0px
1024 | 511.5px
1025 | 512.0px
1026 | 512.5px
1027 | 513.0px
1028 | 513.5px
1029 | 514.0px
1030 | 514.5px
1031 | 515.0px
1032 | 515.5px
1033 | 516.0px
1034 | 516.5px
1035 | 517.0px
1036 | 517.5px
1037 | 518.0px
1038 | 518.5px
1039 | 519.0px
1040 | 519.5px
1041 | 520.0px
1042 | 520.5px
1043 | 521.0px
1044 | 521.5px
1045 | 522.0px
1046 | 522.5px
1047 | 523.0px
1048 | 523.5px
1049 | 524.0px
1050 | 524.5px
1051 | 525.0px
1052 | 525.5px
1053 | 526.0px
1054 | 526.5px
1055 | 527.0px
1056 | 527.5px
1057 | 528.0px
1058 | 528.5px
1059 | 529.0px
1060 | 529.5px
1061 | 530.0px
1062 | 530.5px
1063 | 531.0px
1064 | 531.5px
1065 | 532.0px
1066 | 532.5px
1067 | 533.0px
1068 | 533.5px
1069 | 534.0px
1070 | 534.5px
1071 | 535.0px
1072 | 535.5px
1073 | 536.0px
1074 | 536.5px
1075 | 537.0px
1076 | 537.5px
1077 | 538.0px
1078 | 538.5px
1079 | 539.0px
1080 | 539.5px
1081 | 540px
1082 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ffffff
4 | #cccccc
5 |
6 | #7B1FA2
7 | #111111
8 |
9 | #88888888
10 | #f2f2f2
11 | #9C27B0
12 |
13 | #f4f4f4
14 | #00000000
15 | #000000
16 | #0084ff
17 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | @dimen/x15
5 | @dimen/x24
6 | @dimen/x15
7 | @dimen/x43
8 | @dimen/y144
9 |
--------------------------------------------------------------------------------
/dropdownmenu/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | DropDownMenu
3 | 没有找到符合条件的房源
4 |
5 |
--------------------------------------------------------------------------------
/dropdownmenu/src/test/java/com/qlh/dropdownmenu/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.qlh.dropdownmenu;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 | @Test
14 | public void addition_isCorrect() throws Exception {
15 | assertEquals(4, 2 + 2);
16 | }
17 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wzgl5533/DropMenu/0b6800ced0ee043b2761c562916b17ed6f6a7a4e/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jul 05 14:33:16 CST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
7 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##############################################################################
4 | ##
5 | ## Gradle start up script for UN*X
6 | ##
7 | ##############################################################################
8 |
9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
10 | DEFAULT_JVM_OPTS=""
11 |
12 | APP_NAME="Gradle"
13 | APP_BASE_NAME=`basename "$0"`
14 |
15 | # Use the maximum available, or set MAX_FD != -1 to use that value.
16 | MAX_FD="maximum"
17 |
18 | warn ( ) {
19 | echo "$*"
20 | }
21 |
22 | die ( ) {
23 | echo
24 | echo "$*"
25 | echo
26 | exit 1
27 | }
28 |
29 | # OS specific support (must be 'true' or 'false').
30 | cygwin=false
31 | msys=false
32 | darwin=false
33 | case "`uname`" in
34 | CYGWIN* )
35 | cygwin=true
36 | ;;
37 | Darwin* )
38 | darwin=true
39 | ;;
40 | MINGW* )
41 | msys=true
42 | ;;
43 | esac
44 |
45 | # Attempt to set APP_HOME
46 | # Resolve links: $0 may be a link
47 | PRG="$0"
48 | # Need this for relative symlinks.
49 | while [ -h "$PRG" ] ; do
50 | ls=`ls -ld "$PRG"`
51 | link=`expr "$ls" : '.*-> \(.*\)$'`
52 | if expr "$link" : '/.*' > /dev/null; then
53 | PRG="$link"
54 | else
55 | PRG=`dirname "$PRG"`"/$link"
56 | fi
57 | done
58 | SAVED="`pwd`"
59 | cd "`dirname \"$PRG\"`/" >/dev/null
60 | APP_HOME="`pwd -P`"
61 | cd "$SAVED" >/dev/null
62 |
63 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
64 |
65 | # Determine the Java command to use to start the JVM.
66 | if [ -n "$JAVA_HOME" ] ; then
67 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
68 | # IBM's JDK on AIX uses strange locations for the executables
69 | JAVACMD="$JAVA_HOME/jre/sh/java"
70 | else
71 | JAVACMD="$JAVA_HOME/bin/java"
72 | fi
73 | if [ ! -x "$JAVACMD" ] ; then
74 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
75 |
76 | Please set the JAVA_HOME variable in your environment to match the
77 | location of your Java installation."
78 | fi
79 | else
80 | JAVACMD="java"
81 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
82 |
83 | Please set the JAVA_HOME variable in your environment to match the
84 | location of your Java installation."
85 | fi
86 |
87 | # Increase the maximum file descriptors if we can.
88 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
89 | MAX_FD_LIMIT=`ulimit -H -n`
90 | if [ $? -eq 0 ] ; then
91 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
92 | MAX_FD="$MAX_FD_LIMIT"
93 | fi
94 | ulimit -n $MAX_FD
95 | if [ $? -ne 0 ] ; then
96 | warn "Could not set maximum file descriptor limit: $MAX_FD"
97 | fi
98 | else
99 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
100 | fi
101 | fi
102 |
103 | # For Darwin, add options to specify how the application appears in the dock
104 | if $darwin; then
105 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
106 | fi
107 |
108 | # For Cygwin, switch paths to Windows format before running java
109 | if $cygwin ; then
110 | APP_HOME=`cygpath --path --mixed "$APP_HOME"`
111 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
112 | JAVACMD=`cygpath --unix "$JAVACMD"`
113 |
114 | # We build the pattern for arguments to be converted via cygpath
115 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
116 | SEP=""
117 | for dir in $ROOTDIRSRAW ; do
118 | ROOTDIRS="$ROOTDIRS$SEP$dir"
119 | SEP="|"
120 | done
121 | OURCYGPATTERN="(^($ROOTDIRS))"
122 | # Add a user-defined pattern to the cygpath arguments
123 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then
124 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
125 | fi
126 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
127 | i=0
128 | for arg in "$@" ; do
129 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
130 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
131 |
132 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
133 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
134 | else
135 | eval `echo args$i`="\"$arg\""
136 | fi
137 | i=$((i+1))
138 | done
139 | case $i in
140 | (0) set -- ;;
141 | (1) set -- "$args0" ;;
142 | (2) set -- "$args0" "$args1" ;;
143 | (3) set -- "$args0" "$args1" "$args2" ;;
144 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
145 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
146 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
147 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
148 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
149 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
150 | esac
151 | fi
152 |
153 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
154 | function splitJvmOpts() {
155 | JVM_OPTS=("$@")
156 | }
157 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
158 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
159 |
160 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
161 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':dropdownmenu'
2 |
--------------------------------------------------------------------------------