If you like developing Android, you must "hate" Spinners. I had countless issues with Spinners and I decided to make a new one. BetterSpinner is using AutoCompleteTextView to do what a Spinner really should do.
The demo is a showcase of the functionality of the library.
Download the APK file here: BetterSpinner.Demo-1.0.6.apk
or
BetterSpinner can be used just like AutoCompleteTextView.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
BetterSpinner textView = (BetterSpinner)
findViewById(R.id.countries_list);
textView.setAdapter(adapter);
}
private static final String[] COUNTRIES = new String[] {
"Belgium", "France", "Italy", "Germany", "Spain"
};
or you can also store you arrays in arrays.xml and do something like this in your code
String[] COUNTRIES = getResources().getStringArray(R.array.countries_list);
If you want to use material style AutoCompleteTextView, simplely replace BetterSpinner with MaterialBetterSpinner.
BetterSpinner is now pushed to Maven Central as an AAR, so you just need to add the following dependency to your build.gradle
.
gradle:
For normal look use (BetterSpinner):
compile 'com.weiwangcn.betterspinner:library:1.0.6'
For material look use (MaterrialBetterSpinner):
compile 'com.weiwangcn.betterspinner:library-material:1.0.6'
Note: library-material has included MaterialEditText.
Thanks my girlfriend Wanrong([email protected]) for the icon :)
Thanks Matt for his inspiration
Copyright 2015 Wei Wang
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.