├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ └── layout │ │ │ │ └── activity_main.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── xyzlf │ │ │ └── custom │ │ │ └── keyboard │ │ │ └── MainActivity.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── xyzlf │ │ │ └── custom │ │ │ └── keyboard │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── xyzlf │ │ └── custom │ │ └── keyboard │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── keyboardlib ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── drawable-xhdpi │ │ │ ├── keboard_icon_delete.png │ │ │ └── keyboard_icon_close.png │ │ ├── values │ │ │ ├── strings.xml │ │ │ ├── colors.xml │ │ │ └── style.xml │ │ ├── drawable │ │ │ ├── keyboard_divider_line.xml │ │ │ ├── keyboard_delete_selector.xml │ │ │ └── keyboard_grid_item_bg.xml │ │ ├── anim │ │ │ ├── keyboard_exit.xml │ │ │ └── keyboard_show.xml │ │ └── layout │ │ │ ├── keyboard_grid_item_image.xml │ │ │ ├── keyboard_grid_item_text.xml │ │ │ └── keyboard_dialog.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── xyzlf │ │ └── custom │ │ └── keyboardlib │ │ ├── IKeyboardListener.java │ │ ├── BaseDialog.java │ │ ├── KeyboardGirdView.java │ │ ├── KeyboardGridAdapter.java │ │ ├── KeyboardDialog.java │ │ └── PasswordView.java ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── keyboard.png ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── README.md ├── gradlew.bat └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /keyboardlib/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':keyboardlib' 2 | -------------------------------------------------------------------------------- /keyboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/keyboard.png -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea 5 | .DS_Store 6 | /build 7 | /captures 8 | /gradle.properties 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NumericKeyboard 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /keyboardlib/src/main/res/drawable-xhdpi/keboard_icon_delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/keyboardlib/src/main/res/drawable-xhdpi/keboard_icon_delete.png -------------------------------------------------------------------------------- /keyboardlib/src/main/res/drawable-xhdpi/keyboard_icon_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyzlf/NumericKeyboard/HEAD/keyboardlib/src/main/res/drawable-xhdpi/keyboard_icon_close.png -------------------------------------------------------------------------------- /keyboardlib/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | KeyboardLib 4 | 请输入支付密码 5 | 忘记密码? 6 | 7 | 8 | -------------------------------------------------------------------------------- /keyboardlib/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /keyboardlib/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #cccccc 4 | #ffe8ecef 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /keyboardlib/src/main/res/drawable/keyboard_divider_line.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /keyboardlib/src/main/res/anim/keyboard_exit.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /keyboardlib/src/main/res/anim/keyboard_show.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Jul 08 14:12:39 GMT+08:00 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /keyboardlib/src/main/java/com/xyzlf/custom/keyboardlib/IKeyboardListener.java: -------------------------------------------------------------------------------- 1 | package com.xyzlf.custom.keyboardlib; 2 | 3 | public interface IKeyboardListener { 4 | 5 | void onPasswordChange(String pwd); 6 | 7 | void onPasswordComplete(String pwd); 8 | 9 | void onForgetPwd(); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /keyboardlib/src/main/res/drawable/keyboard_delete_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/test/java/com/xyzlf/custom/keyboard/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.xyzlf.custom.keyboard; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 |