Material WheelView

Additional

Language
Java
Version
v0.0.1 (Jan 29, 2017)
Created
Jan 24, 2017
Updated
Oct 20, 2020 (Retired)
Owner
BlackBox Vision (BlackBoxVision)
Contributors
Bruce too (brucetoo)
Pedro Francisco de Sousa Neto (pedrofsn)
2
Activity
Badge
Generate
Download
Source code

Advertisement

Material Wheel View

???? Prettier and simpler IOS like WheelView and other built-in WheelView UIs

Installation

Gradle

  • Add it in your root build.gradle at the end of repositories:
repositories {
 maven { 
     url "https://jitpack.io"
 }
}
  • Add the dependency:
dependencies {
    compile 'com.github.BlackBoxVision:material-wheel-view:v0.0.1'
}

Maven

  • Add the JitPack repository to your maven file.
<repository>
     <id>jitpack.io</id>
     <url>https://jitpack.io</url>
</repository>
  • Add the dependency in the form
<dependency>
    <groupId>com.github.BlackBoxVision</groupId>
    <artifactId>>material-wheel-view</artifactId>
    <version>v0.0.1</version>
</dependency>

SBT

  • Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
  • Add the dependency in the form:
libraryDependencies += "com.github.BlackBoxVision" % "material-wheel-view" % "v0.0.1" 

Usage example

In your layout.xml:

<io.blackbox_vision.wheelview.view.WheelView
 android:id="@+id/loop_view"
 android:layout_width="200dp"
 android:layout_height="180dp"
 app:canLoop="true"
 app:centerTextColor="#ff000000"
 app:drawItemCount="7"
 app:initPosition="3"
 app:lineColor="@color/colorPrimary"
 app:textSize="25sp"
 app:topBottomTextColor="#ffafafaf"/>

In your activity class:

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
 setSupportActionBar(toolbar);

 final WheelView wheelView = (WheelView) findViewById(R.id.loop_view);

 wheelView.setInitPosition(2);
 wheelView.setCanLoop(false);
 wheelView.setLoopListener(item -> {});
 wheelView.setTextSize(12);
 wheelView.setItems(getList());
 }

Also, there is a built-in UI called DatePickerPopUpWindow, you can use it like these:

 findViewById(R.id.date).setOnClickListener(v -> {
    final DatePickerPopUpWindow datePicker = new DatePickerPopUpWindow.Builder(getApplicationContext())
     .setMinYear(1990)
     .setMaxYear(2550)
     .setSelectedDate("2013-11-11")
     .setOnDateSelectedListener(this::onDateSelected)
     .setConfirmButtonText("CONFIRM")
     .setCancelButtonText("CANCEL")
     .setConfirmButtonTextColor(Color.parseColor("#999999"))
     .setCancelButtonTextColor(Color.parseColor("#009900"))
     .setButtonTextSize(16)
     .setViewTextSize(15)
     .setShowDayMonthYear(true)
     .build();

    datePicker.show(this);
   });   

Issues

If you found a bug, or you have an answer, or whatever. Please, open an issue. I will do the best to fix it, or help you.

Contributing

Of course, if you see something that you want to upgrade from this library, or a bug that needs to be solved, PRs are welcome!

TODO

  • Custom DatePicker component based on WheelView
  • Custom TimePicker component based on WheelView
  • Custom DatePickerDialog based on DatePicker WheelView
  • Custom TimePickerDialog based on DatePicker WheelView