├── .gitignore ├── .idea ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml └── gradle.xml ├── APK └── Demo.apk ├── Demo ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── yyg.ttf │ ├── java │ └── dev │ │ └── aige │ │ └── wheelpicker │ │ └── demo │ │ └── PreviewActivity.java │ └── res │ ├── layout │ ├── ac_area_picker.xml │ └── ac_preview.xml │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ └── mipmap-xxhdpi │ └── ic_launcher.png ├── LICENSE ├── Previews ├── main │ ├── Banner.jpg │ ├── Pay.png │ ├── Preview.gif │ ├── WheelDatePicker.gif │ ├── WheelDayPicker.gif │ ├── WheelMonthPicker.gif │ └── WheelYearPicker.gif └── wiki │ ├── 01.png │ └── 02.png ├── README.md ├── WheelPicker ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── RegionJsonData.dat │ ├── java │ └── dev │ │ └── aige │ │ └── wheelpicker │ │ ├── IDebug.java │ │ ├── IWheelPicker.java │ │ ├── WheelPicker.java │ │ ├── model │ │ ├── City.java │ │ └── Province.java │ │ └── widgets │ │ ├── IWheelAreaPicker.java │ │ ├── IWheelDatePicker.java │ │ ├── IWheelDayPicker.java │ │ ├── IWheelMonthPicker.java │ │ ├── IWheelYearPicker.java │ │ ├── WheelAreaPicker.java │ │ ├── WheelDatePicker.java │ │ ├── WheelDayPicker.java │ │ ├── WheelMonthPicker.java │ │ └── WheelYearPicker.java │ └── res │ ├── layout-v17 │ └── view_wheel_date_picker.xml │ ├── layout │ └── view_wheel_date_picker.xml │ ├── values-zh │ └── strings.xml │ └── values │ ├── arrays.xml │ ├── attrs.xml │ ├── dimens.xml │ └── strings.xml ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | .idea 3 | build 4 | local.properties 5 | *.iml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /APK/Demo.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devaige/WheelPicker/594180cb8b26ae17e259a3e93438f17f25d335e5/APK/Demo.apk -------------------------------------------------------------------------------- /Demo/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | *.iml -------------------------------------------------------------------------------- /Demo/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | android { 3 | compileSdkVersion 28 4 | defaultConfig { 5 | applicationId "dev.aige.wheelpicker.demo" 6 | minSdkVersion 14 7 | targetSdkVersion 28 8 | versionCode 1 9 | versionName "1.0" 10 | } 11 | buildTypes { 12 | release { 13 | minifyEnabled false 14 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 15 | } 16 | } 17 | } 18 | dependencies { 19 | implementation project(':WheelPicker') 20 | } -------------------------------------------------------------------------------- /Demo/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in J:\SDK\Android\Win/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /Demo/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Demo/src/main/assets/yyg.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devaige/WheelPicker/594180cb8b26ae17e259a3e93438f17f25d335e5/Demo/src/main/assets/yyg.ttf -------------------------------------------------------------------------------- /Demo/src/main/java/dev/aige/wheelpicker/demo/PreviewActivity.java: -------------------------------------------------------------------------------- 1 | package dev.aige.wheelpicker.demo; 2 | 3 | import android.app.Activity; 4 | import android.os.Bundle; 5 | import android.view.View; 6 | import android.widget.Button; 7 | import android.widget.Toast; 8 | 9 | import dev.aige.wheelpicker.WheelPicker; 10 | 11 | /** 12 | * @author AigeStudio 2015-12-06 13 | * @author AigeStudio 2016-07-08 14 | */ 15 | public class PreviewActivity extends Activity implements WheelPicker.OnItemSelectedListener, View.OnClickListener { 16 | 17 | private WheelPicker wheelLeft; 18 | private WheelPicker wheelCenter; 19 | private WheelPicker wheelRight; 20 | 21 | private Button gotoBtn; 22 | private Integer gotoBtnItemIndex; 23 | 24 | @Override 25 | protected void onCreate(Bundle savedInstanceState) { 26 | super.onCreate(savedInstanceState); 27 | setContentView(R.layout.ac_preview); 28 | 29 | wheelLeft = (WheelPicker) findViewById(R.id.main_wheel_left); 30 | wheelLeft.setOnItemSelectedListener(this); 31 | wheelCenter = (WheelPicker) findViewById(R.id.main_wheel_center); 32 | wheelCenter.setOnItemSelectedListener(this); 33 | wheelRight = (WheelPicker) findViewById(R.id.main_wheel_right); 34 | wheelRight.setOnItemSelectedListener(this); 35 | 36 | gotoBtn = (Button) findViewById(R.id.goto_btn); 37 | randomlySetGotoBtnIndex(); 38 | gotoBtn.setOnClickListener(this); 39 | } 40 | 41 | private void randomlySetGotoBtnIndex() { 42 | gotoBtnItemIndex = (int) (Math.random() * wheelCenter.getData().size()); 43 | gotoBtn.setText("Goto '" + wheelCenter.getData().get(gotoBtnItemIndex) + "'"); 44 | } 45 | 46 | @Override 47 | public void onItemSelected(WheelPicker picker, Object data, int position) { 48 | String text = ""; 49 | switch (picker.getId()) { 50 | case R.id.main_wheel_left: 51 | text = "Left:"; 52 | break; 53 | case R.id.main_wheel_center: 54 | text = "Center:"; 55 | break; 56 | case R.id.main_wheel_right: 57 | text = "Right:"; 58 | break; 59 | } 60 | Toast.makeText(this, text + String.valueOf(data), Toast.LENGTH_SHORT).show(); 61 | } 62 | 63 | @Override 64 | public void onClick(View v) { 65 | wheelCenter.setSelectedItemPosition(gotoBtnItemIndex); 66 | randomlySetGotoBtnIndex(); 67 | } 68 | 69 | } -------------------------------------------------------------------------------- /Demo/src/main/res/layout/ac_area_picker.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 22 | 23 | 34 | 35 | 47 | -------------------------------------------------------------------------------- /Demo/src/main/res/layout/ac_preview.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 15 | 16 |