{"id":16193810,"url":"https://github.com/chilijung/android-easyspinner","last_synced_at":"2025-10-13T14:41:03.184Z","repository":{"id":86704708,"uuid":"94428241","full_name":"chilijung/android-easyspinner","owner":"chilijung","description":"Styling and manipulating data in android spinner is hard. Make it easy.","archived":false,"fork":false,"pushed_at":"2017-06-20T03:12:54.000Z","size":224,"stargazers_count":3,"open_issues_count":4,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-17T03:34:23.579Z","etag":null,"topics":["android","android-spinner","spinner"],"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/chilijung.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-15T10:22:32.000Z","updated_at":"2022-11-19T14:43:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"21c569af-560f-423a-9c3d-a177f0d2a206","html_url":"https://github.com/chilijung/android-easyspinner","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chilijung%2Fandroid-easyspinner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chilijung%2Fandroid-easyspinner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chilijung%2Fandroid-easyspinner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chilijung%2Fandroid-easyspinner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chilijung","download_url":"https://codeload.github.com/chilijung/android-easyspinner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244357377,"owners_count":20440316,"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":["android","android-spinner","spinner"],"created_at":"2024-10-10T08:16:42.544Z","updated_at":"2025-10-13T14:40:58.156Z","avatar_url":"https://github.com/chilijung.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EasySpinner\n[![Release](https://jitpack.io/v/Canner/android-easyspinner.svg)](https://jitpack.io/#Canner/android-easyspinner)\n\nStyling and manipulating data in android spinner is hard. Make it easy.\n\n## Demo\n\n\u003cimg src=\"./preview/demo.png\" width=\"250\"/\u003e\n\n## Install\n\nadd your `build.grade`:\n\n```groovy\nallprojects {\n    repositories {\n        jcenter()\n        maven { url \"https://jitpack.io\" }\n    }\n}\ndependencies {\n    compile 'com.github.canner:android-easyspinner:\u003cVERSION\u003e'\n}\n```\n\n## Demo Spinner types\n\n- [Horizontal Spinner](#horizontalspinner)\n- [Vertical Spinner](#verticalspinner)\n- [Normal Spinner](#normalspinner)\n\n#### Horizontal spinner\n\n\u003cimg src=\"./preview/horizontal.png\" width=\"250\"/\u003e\n\n```xml\n\u003cio.canner.easyspinner.HorizontalSpinner\n    android:id=\"@+id/spinner1\"\n    style=\"@style/spinnerForm\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    app:entries=\"@array/spn_list\"\n    app:itemLayout=\"@layout/test_item\"\n    app:itemSelectedLayout=\"@layout/test_item_selected\"\n    app:nothingSelectedLayout=\"@layout/test_nothing_select\"\n    app:prompt=\"Select a car type... \"\n    app:spinnerMode=\"dialog\"\n    app:title=\"Horizontal spinner\" /\u003e\n```\n\n#### Vertical spinner\n\n\u003cimg src=\"./preview/vertical.png\" width=\"250\"/\u003e\n\n```xml\n\u003cio.canner.easyspinner.VerticalSpinner\n    android:id=\"@+id/verticalSpinner\"\n    style=\"@style/spinnerForm\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    app:entries=\"@array/spn_list\"\n    app:itemLayout=\"@layout/test_item\"\n    app:itemSelectedLayout=\"@layout/test_item_selected\"\n    app:nothingSelectedLayout=\"@layout/test_nothing_select\"\n    app:prompt=\"Select a car type... \"\n    app:spinnerMode=\"dialog\"\n    app:title=\"Vertical spinner\" /\u003e\n```\n\n#### Normal spinner\n\n\u003cimg src=\"./preview/normal.png\" width=\"250\"/\u003e\n\n```xml\n\u003cio.canner.easyspinner.SimpleSpinner\n    android:id=\"@+id/simpleSpinner\"\n    style=\"@style/spinnerForm\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    app:entries=\"@array/spn_list\"\n    app:prompt=\"Select a car type... \"\n    app:spinnerMode=\"dropdown\" /\u003e\n```\n\n## Setting spinner styles - style attributes\n\nYou can setup your spinner customized styles with following settings in layout attributes.\n\n####  style\n\nstyle attribute can setup your spinner style\n\n#### app:itemLayout\n\npassing your layout resourceId to setup your own itemLayout.\n\n#### app:itemSelectedLayout\n\nwhen the item selected it will be shown using `app:itemSelectedLayout`\n\n#### app:nothingSelectedLayout\n\nwhen nothing is selected, it will display this layout `app:nothingSelectedLayout` you could replace with your own placeholder here.\n\n## Other Attributes\n\n#### app:entries\n\nsetup your spinner entries.\n\n#### app:prompt\n\nsetup your spinner prompt message.\n\n#### app:spinnerMode\n\nspinnerMode could be either `dropdown` or `dialog`.\n\n#### title\n\nsetup title.\n\n## Setup Spinner methods\n\n#### spinner.setOnItemSelectedListener\n\n```java\nthis.spinnerTest = (HorizontalSpinner) findViewById(R.id.spinner1);\nspinnerTest.setOnItemSelectedListener((new AdapterView.OnItemSelectedListener() {\n    @Override\n    public void onItemSelected(AdapterView\u003c?\u003e parentView, View selectedItemView, int position, long id) {\n        // your code here\n        Log.v(\"SpinnerTest1 position\", String.valueOf(position));\n        Log.v(\"SpinnerTest1 id\", String.valueOf(id));\n    }\n\n    @Override\n    public void onNothingSelected(AdapterView\u003c?\u003e parentView) {\n        // your code here\n        Log.v(\"SpinnerTest1\", \"nothing selected\");\n    }\n}));\n```\n\n#### spinner.clear();\n\nclear entries in spinner.\n\n##### spinner.add(String)\n\nadd a data in entry.\n\n```java\nspinnerTest.add(\"test data\");\n```\n\n#### spinner.addAll(Collection)\n\nadd collection to entries\n\n```java\nArrayList\u003cString\u003e testData = new ArrayList();\ntestData.add(\"test 1\");\ntestData.add(\"test 2\");\ntestData.add(\"test 3\");\ntestData.add(\"test 4\");\n\nspinnerTest.addAll(testData);\n```\n\n#### spinner.resetData(String datum)\n\nreset data and set datum to `app:entries`.\n\n#### spinner.resetData(Collection data)\n\nreset data and set collection to `app:entries`.\n\n#### spinner.setTitle(String title)\n\nset title.\n\n#### spinner.setPrompt(String prompt)\n\nset spinner prompt.\n\n#### spinner.setEnabled(boolean enabled)\n\nset spinner enabled or not.\n\n#### spinner.setSelection(int position)\n\nset spinner selection position.\n\n#### spinner.getSpinnerView()\n\nget spinner in the view.\n\n#### spinner.getTitleView()\n\nget title in the view.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchilijung%2Fandroid-easyspinner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchilijung%2Fandroid-easyspinner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchilijung%2Fandroid-easyspinner/lists"}