{"id":13643354,"url":"https://github.com/Airsaid/Android-PickerView-Library","last_synced_at":"2025-04-21T01:32:27.069Z","repository":{"id":110284749,"uuid":"75385858","full_name":"Airsaid/Android-PickerView-Library","owner":"Airsaid","description":"Simple PickerView for Android - code from https://github.com/saiwu-bigkoo/Android-PickerView","archived":false,"fork":false,"pushed_at":"2018-01-19T02:42:55.000Z","size":469,"stargazers_count":110,"open_issues_count":3,"forks_count":27,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-09T15:42:30.720Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Airsaid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-12-02T10:28:44.000Z","updated_at":"2024-07-02T08:25:46.000Z","dependencies_parsed_at":"2023-03-22T07:03:32.362Z","dependency_job_id":null,"html_url":"https://github.com/Airsaid/Android-PickerView-Library","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Airsaid%2FAndroid-PickerView-Library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Airsaid%2FAndroid-PickerView-Library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Airsaid%2FAndroid-PickerView-Library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Airsaid%2FAndroid-PickerView-Library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Airsaid","download_url":"https://codeload.github.com/Airsaid/Android-PickerView-Library/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249982623,"owners_count":21355735,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T01:01:46.297Z","updated_at":"2025-04-21T01:32:26.376Z","avatar_url":"https://github.com/Airsaid.png","language":"Java","readme":"# Android-PickerView-Library\n~~这是一个高仿 IOS PickerView 控件的库：https://github.com/Airsaid/Android-PickerView-Library。在 https://github.com/saiwu-bigkoo/Android-PickerView 代码基础上进行封装、优化。由于原库作者不再维护，所以新开了该库。后期如有时间，将会对整体代码重构，核心采用自定义 LayouManager 实现。~~\n\n原库已经有人接手更新，并且代码已经重构。推荐大家使用，地址：https://github.com/saiwu-bigkoo/Android-PickerView\n\n**该库暂时停止维护，后续可能会进行重构（重构前建议大家不要使用）**\n\n# 预览\n![](https://github.com/Airsaid/Android-PickerView-Library/blob/master/gif/pickerview.gif)\n\n# 使用\n* 首先需要在 build.gradle 文件中添加依赖：\n```\ndependencies {\n   compile 'com.airsaid.library:pickerview:1.0.3'\n}\n```\n\n添加好依赖后，重新同步工程。可根据需求使用如下选择器：\n\n* 城市选择：\n```\n        CityPickerView mCityPickerView = new CityPickerView(this);\n        // 设置点击外部是否消失\n//        mCityPickerView.setCancelable(true);\n        // 设置滚轮字体大小\n//        mCityPickerView.setTextSize(18f);\n        // 设置标题\n//        mCityPickerView.setTitle(\"我是标题\");\n        // 设置取消文字\n//        mCityPickerView.setCancelText(\"我是取消文字\");\n        // 设置取消文字颜色\n//        mCityPickerView.setCancelTextColor(Color.GRAY);\n        // 设置取消文字大小\n//        mCityPickerView.setCancelTextSize(14f);\n        // 设置确定文字\n//        mCityPickerView.setSubmitText(\"我是确定文字\");\n        // 设置确定文字颜色\n//        mCityPickerView.setSubmitTextColor(Color.BLACK);\n        // 设置确定文字大小\n//        mCityPickerView.setSubmitTextSize(14f);\n        // 设置头部背景\n//        mCityPickerView.setHeadBackgroundColor(Color.RED);\n        mCityPickerView.setOnCitySelectListener(new OnSimpleCitySelectListener(){\n                    @Override\n                    public void onCitySelect(String prov, String city, String area) {\n                        // 省、市、区 分开获取\n                        Log.e(TAG, \"省: \" + prov + \" 市: \" + city + \" 区: \" + area);\n                    }\n\n                    @Override\n                    public void onCitySelect(String str) {\n                        // 一起获取\n                        Toast.makeText(MainActivity.this, \"选择了：\" + str, Toast.LENGTH_SHORT).show();\n                    }\n        });\n        mCityPickerView.show();\n```\n* 时间选择：\n```\n //     TimePickerView 同样有上面设置样式的方法\n        TimePickerView mTimePickerView = new TimePickerView(this, TimePickerView.Type.YEAR_MONTH_DAY);\n        // 设置是否循环\n//        mTimePickerView.setCyclic(true);\n        // 设置滚轮文字大小\n//        mTimePickerView.setTextSize(TimePickerView.TextSize.SMALL);\n        // 设置时间可选范围(结合 setTime 方法使用,必须在)\n//        Calendar calendar = Calendar.getInstance();\n//        mTimePickerView.setRange(calendar.get(Calendar.YEAR) - 100, calendar.get(Calendar.YEAR));\n        // 设置选中时间\n//        mTimePickerView.setTime(new Date());\n        mTimePickerView.setOnTimeSelectListener(new TimePickerView.OnTimeSelectListener() {\n            @Override\n            public void onTimeSelect(Date date) {\n                SimpleDateFormat format = new SimpleDateFormat(\"yyyy-MM-dd\", Locale.CHINA);\n                Toast.makeText(MainActivity.this, format.format(date), Toast.LENGTH_SHORT).show();\n            }\n        });\n        mTimePickerView.show();\n```\n* 选项选择：\n```\n        OptionsPickerView\u003cString\u003e mOptionsPickerView = new OptionsPickerView\u003c\u003e(this);\n        final ArrayList\u003cString\u003e list = new ArrayList\u003c\u003e();\n        list.add(\"男\");\n        list.add(\"女\");\n        // 设置数据\n        mOptionsPickerView.setPicker(list);\n        // 设置选项单位\n//        mOptionsPickerView.setLabels(\"性\");\n        mOptionsPickerView.setOnOptionsSelectListener(new OptionsPickerView.OnOptionsSelectListener() {\n            @Override\n            public void onOptionsSelect(int option1, int option2, int option3) {\n                String sex = list.get(option1);\n                Toast.makeText(MainActivity.this, sex, Toast.LENGTH_SHORT).show();\n            }\n        });\n        mOptionsPickerView.show();\n```\n# 更新日志\n* 1.0.2：修复部分城市文字乱码bug,修复设置字体过小后分割线无法对齐bug。\n* 1.0.1：修复内存泄露问题,修复设置setTime()方法后字体设置无效bug。\n\n\n# 联系我\n* 博 客：http://blog.csdn.net/airsaid\n* QQ群：5707887\n\n\n# 感谢\n* https://github.com/saiwu-bigkoo/Android-PickerView\n","funding_links":[],"categories":["选择器(Picker)"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAirsaid%2FAndroid-PickerView-Library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAirsaid%2FAndroid-PickerView-Library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAirsaid%2FAndroid-PickerView-Library/lists"}