All Projects → webianks → Scrollchoice

webianks / Scrollchoice

Licence: mit
✔️ Scrollable view which can be used to give different choices to user with nice ui.

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Scrollchoice

Notie
🔔 a clean and simple notification, input, and selection suite for javascript, with no dependencies
Stars: ✭ 6,170 (+2969.65%)
Mutual labels:  selection
Selection
✨ Selection - A simple and lightweight library to add a visual way of selecting elements, just like on your Desktop. Zero dependencies. Full mobile and scroll support.
Stars: ✭ 1,371 (+582.09%)
Mutual labels:  selection
Smenu
smenu started as a lightweight and flexible terminal menu generator, but quickly evolved into a powerful and versatile CLI selection tool for interactive or scripting use.
Stars: ✭ 1,906 (+848.26%)
Mutual labels:  selection
Selecto
Selecto.js is a component that allows you to select elements in the drag area using the mouse or touch.
Stars: ✭ 822 (+308.96%)
Mutual labels:  selection
Bubble Picker
An easy-to-use animation which can be used for content picking for Android
Stars: ✭ 1,316 (+554.73%)
Mutual labels:  selection
Sentaku
Utility to make sentaku (selection, 選択(sentaku)) window with shell command.
Stars: ✭ 117 (-41.79%)
Mutual labels:  selection
Web Highlighter
✨ A no-runtime dependency lib for text highlighting & persistence on any website ✨🖍️
Stars: ✭ 373 (+85.57%)
Mutual labels:  selection
Multiselectsegmentedcontrol
UISegmentedControl remake that supports selecting multiple segments, vertical stacking, combining text and images.
Stars: ✭ 181 (-9.95%)
Mutual labels:  selection
React Selection
⬜️ Like the normal OS selection
Stars: ✭ 93 (-53.73%)
Mutual labels:  selection
Drag Select Recyclerview
👇 Easy Google Photos style multi-selection for RecyclerViews, powered by Kotlin and AndroidX.
Stars: ✭ 1,818 (+804.48%)
Mutual labels:  selection
Neataptic
🚀 Blazing fast neuro-evolution & backpropagation for the browser and Node.js
Stars: ✭ 1,027 (+410.95%)
Mutual labels:  selection
Ninaselectionview
Way to select your buttons.
Stars: ✭ 87 (-56.72%)
Mutual labels:  selection
Coinselect
An unspent transaction output (UTXO) selection module for bitcoin.
Stars: ✭ 121 (-39.8%)
Mutual labels:  selection
Share This
Medium-like text selection sharing without dependencies
Stars: ✭ 787 (+291.54%)
Mutual labels:  selection
Deeputteranceaggregation
Modeling Multi-turn Conversation with Deep Utterance Aggregation (COLING 2018)
Stars: ✭ 171 (-14.93%)
Mutual labels:  selection
Selectpage
A simple style and powerful selector, including ajax remote data, autocomplete, pagination, tags, i18n and keyboard navigation features
Stars: ✭ 679 (+237.81%)
Mutual labels:  selection
React Multi Select
A Multi Select component built with and for React
Stars: ✭ 111 (-44.78%)
Mutual labels:  selection
Sharect
🔗 A lightweight JavaScript library to let users share their text selections to social networks.
Stars: ✭ 192 (-4.48%)
Mutual labels:  selection
React Native Selectable Text
Capture text selection and customize the action menu
Stars: ✭ 174 (-13.43%)
Mutual labels:  selection
Selectnextoccurrence
A Visual Studio Extension that selects the next occurrences of the current selection and adds multiple cursors for editing
Stars: ✭ 129 (-35.82%)
Mutual labels:  selection

Android Arsenal Open Source Love License

ScrollChoice

Scrollable view which can be used to give different choices to user with nice ui.

Preview

Add With Gradle Dependency

compile 'com.webianks.library:scroll-choice:1.0.1'

Maven:

<dependency>
  <groupId>com.webianks.library</groupId>
  <artifactId>scroll-choice</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

Min SDK

15

Compile SDK

25

Add ScrollChoice to layout

<com.webianks.library.scroll_choice.ScrollChoice
        android:id="@+id/scroll_choice"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

From Java

Get the reference of ScrollChoice

ScrollChoice scrollChoice = (ScrollChoice) findViewById(R.id.scroll_choice);

Prepare your list items

List<String> data = new ArrayList<>();
data.add("Brazil");
data.add("USA");
data.add("China");
data.add("Pakistan");
data.add("Australia");
data.add("India");
data.add("Nepal");
data.add("Sri Lanka");
data.add("Spain");
data.add("Italy");
data.add("France");

Add to the ScrollChoice object with default selected item index

scrollChoice.addItems(data,5);

Attach listener to listen to know which item was selected

scrollChoice.setOnItemSelectedListener(new ScrollChoice.OnItemSelectedListener() {
            @Override
            public void onItemSelected(ScrollChoice scrollChoice, int position, String name) {
                Log.d("webi",name);
            }
        });

Here 5 is the index of default selected item.

Customization Through XML

<!--Change background Color-->
    app:scroll_background_color="#212121"
<!--Change selected item's background -->
    app:scroll_selected_item_background="#000000"
<!--Change text color-->
    app:scroll_item_text_color="#f5f5f5"
<!--Show/Hide atmospheric gradient effect on top-bottom items-->
    app:scroll_atmospheric="true"
<!--Hide/show scroll indicator-->
    app:scroll_indicator="true"
<!--Change indicator color-->
    app:scroll_indicator_color="#000000"
<!--Align all items-->
    app:scroll_item_align="center"
<!--Set selected item's text color-->
    app:scroll_selected_item_text_color="?attr/colorPrimary"
<!--Set selected item position-->
    app:scroll_selected_item_position="center"
<!--Set different text size-->
    app:scroll_item_text_size="17sp"
<!--Set different indicator size-->
    app:scroll_indicator_size="1dp"      

Test APK

Based on the awesome WheelPicker taken from SingleDateAndTimePicker by Florent CHAMPIGNY.

License

MIT License

Copyright (c) 2017 Ramankit Singh

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].