{"id":22499174,"url":"https://github.com/sparrow007/androidjoystickview","last_synced_at":"2025-08-15T15:23:15.225Z","repository":{"id":35457765,"uuid":"145773252","full_name":"sparrow007/AndroidJoyStickView","owner":"sparrow007","description":"This library lets you create joystick with some customization for android","archived":false,"fork":false,"pushed_at":"2023-10-26T06:02:29.000Z","size":78,"stargazers_count":49,"open_issues_count":5,"forks_count":13,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-15T12:59:32.303Z","etag":null,"topics":["android","customview","joystick","library","shadow"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sparrow007.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-22T23:22:41.000Z","updated_at":"2023-11-23T07:28:29.000Z","dependencies_parsed_at":"2024-12-06T22:11:38.386Z","dependency_job_id":"ed2f0ad6-853e-46de-8563-6602fe7cd9ff","html_url":"https://github.com/sparrow007/AndroidJoyStickView","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sparrow007/AndroidJoyStickView","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparrow007%2FAndroidJoyStickView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparrow007%2FAndroidJoyStickView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparrow007%2FAndroidJoyStickView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparrow007%2FAndroidJoyStickView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sparrow007","download_url":"https://codeload.github.com/sparrow007/AndroidJoyStickView/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparrow007%2FAndroidJoyStickView/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270586488,"owners_count":24611317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-15T02:00:12.559Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","customview","joystick","library","shadow"],"created_at":"2024-12-06T22:11:31.644Z","updated_at":"2025-08-15T15:23:15.176Z","avatar_url":"https://github.com/sparrow007.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AndroidJoyStickView\n![libimage](https://user-images.githubusercontent.com/22986571/44574794-07ae2e00-a7a8-11e8-9c60-c73c50294e80.jpg)\n\n[![Platform](https://img.shields.io/badge/platform-android-blue.svg)](http://developer.android.com/index.html)\n[![API](https://img.shields.io/badge/API-14%2B-blue.svg?style=flat)](https://android-arsenal.com/api?level=14)\n[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg?style=flat-square)](https://www.apache.org/licenses/LICENSE-2.0.html)\n\nThis library lets you create joystick with some customization for android\n\nGradle\n------\n\n#### Add the dependency\n\n```\ndependencies {\n    ...\n    implementation 'com.jackandphantom.android:joystickview:1.0.2'\n}\n```\n# Basic Usage\n\n#### AndroidJoystickView XML\n\nIn order to use AndroidLikeButton copy following xml code in your xml file.\n\n```xml\n\n \u003ccom.jackandphantom.joystickview.JoyStickView\n     android:layout_width=\"150dp\"\n     android:layout_height=\"150dp\"\n     app:outerCircleBorderColor=\"#fff\"\n     app:innerCircleColor=\"#151414\"\n     app:outerCircleBorderWidth=\"5\"\n     app:shadowRadius=\"7\"\n     app:shadowColor=\"#000\"\n     app:outerCircleColor=\"#a6a9551e\"\n     app:innerCircleImage=\"@drawable/ic_directions_run_black_24dp\"\n     android:layout_alignParentBottom=\"true\"\u003e\n\n```\n\n#### AndroidJoystickView Interface\n\n```java\nJoyStickView joyStickView = findViewById(R.id.joy);\njoyStickView.setOnMoveListener(new JoyStickView.OnMoveListener() {\n            @Override\n            public void onMove(double angle, float strength) {\n                \n            }\n        });\n\n```\n\n# Concept\n\nThere are two views in JoyStick \n\n1. InnerCircleView : This is small circle in joystick as you can see in image so attributes related to this view will using innerCircle\nin prefix in xml\n\n2. OuterCircleView : This is big circle in joystick so all attributes related to this will using outerCircle in prefix in xml\n\n# Attributes\n\nThere are several attribute to configure AndroidJoystick view, they are following\n\n#### InnerCircleView Attributes\n\n #### innerCircleColor , innerCircleImage\n \n In order to change the inner Circle color and add the image into the small circle use the following code :- \n \n ```xml\n \u003ccom.jackandphantom.joystickview.JoyStickView\n      app:innerCircleColor=\"#151414\"\n      app:innerCircleImage=\"@drawable/ic_directions_run_black_24dp\"\n  /\u003e\n\n```\nIn Java \n\n```java\n  joyStickView.setInnerCircleImageResId(R.drawable.ic_directions_run_black_24dp);\n  joyStickView.setInnerCircleColor(Color.BLACK);\n\n```\n\n#### innerCircleRadius\n\nBefore changing the size of small circle you need to understand small concep which is both inner and outer circle has ratio 0.1f and 0.4f respectively so you have to maintain 5.0f in total. so when you change innerCircleRadius value it substracted outercircle value from 5.0f.\n\n```xml\n \u003ccom.jackandphantom.joystickview.JoyStickView\n    app:innerCircleRadius=\"0.15\"\n  /\u003e\n\n```\nIn Java \n\n```java\njoyStickView.setInnerCircleRadius(0.1f);\n\n```\n#### OuterCircleView Attributes\n\n#### outerCircleColor , outerCircleBorderWidth , outerCircleBorderColor\n\nIn order to change outerCircle attributes like it's color , bordercolor and borderWidth you can use following code :\n\n```xml\n \u003ccom.jackandphantom.joystickview.JoyStickView\n    app:outerCircleBorderColor=\"#fff\"\n     app:outerCircleBorderWidth=\"5\"\n     app:outerCircleColor=\"#a6a9551e\"\n  /\u003e\n\n```\nIn Java \n\n```java\n joyStickView.setOuterCircleBorderColor(Color.RED);\n joyStickView.setOuterCircleBorderStrokeWidth(15);\n joyStickView.setOuterCircleColor(Color.WHITE);\n\n```\n### lockCenter\n\nThe default property of joystickview is that when move it and you release it then it automatically came to the center and lockCenter is the property in which it lock the small circle when it stength is equal to 100 so if you want to lock it then \n\n```xml\n \u003ccom.jackandphantom.joystickview.JoyStickView\n    app:lockCenter=\"true\"\n  /\u003e\n\n```\nIn Java \n\n```java\n joyStickView.setLockCenter(false);\n\n```\n#### Shadow\n\nIf you want to addt the shadow in joystick first you need to add outerCircleBorderWidth value and then you can change these properties \n\n#### ShadowRadius , shadowColor , Dx, Dy\n\n```xml\n \u003ccom.jackandphantom.joystickview.JoyStickView\n     app:shadowColor=\"#000\"\n     app:shadowRadius=\"7\"\n     app:shadowDy=\"5\"\n     app:shadowDx=\"5\"\n  /\u003e\n\n```\nIn Java \n\n```java\njoyStickView.setShadowColor(Color.BLACK);\njoyStickView.setShadowRadius(7f);\njoyStickView.setShadowDxAndDy(5f, 5f);\n\n```\n\n LICENCE\n-----\n\n Copyright 2018 Ankit kumar\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n        http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n Special Thanks to Manish and zerokol\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparrow007%2Fandroidjoystickview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparrow007%2Fandroidjoystickview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparrow007%2Fandroidjoystickview/lists"}