# JoystickView
**Repository Path**: freetryMyleft/JoystickView
## Basic Information
- **Project Name**: JoystickView
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-07-21
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

Para modo de uso em Portugês: [JoystickView - Uma view customizada que simula um Joystick no Android.](http://www.zerokol.com/2012/03/joystickview-uma-view-customizada-que.html)
For more info, go to: [JoystickView - A custom Android View to simulates a Joystickm Joystick no Android ](http://www.zerokol.com/2012/03/joystickview-custom-android-view-to.html)
## JoystickView - Android
Android JoystickView is a Custom View that simulates a Joystick for interactive applications for Android,
as simple aim is allows access values of angle and power of the virtual Joystick movement.
### Usage
### Quick Usage
Step 1 - Download or Clone the library (using Git, or a zip archive to unzip)
Step 2 - Open your project in Android Studio
Step 3 - Go to File > New > Import Module
Step 4 - Find and select JoystickView in your project tree
Step 5 - Right-click your app in project view and select "Open Module Settings"
Step 6 - Click the "Dependencies" tab and then the '+' button (Module Dependency)
Step 7 - Select "joystickView"
That is all!
### SHOW ME THE CODE
At this point, you just need to include the View in any layout to start to use the JoystickView, for example:
```xml
```
But certainly you will want to manipulate and extract values from JoystickView, for that you can use this source for a complete reference:
activity_main.xml
```xml
```
MainActivity.java
```java
package com.zerokol.myapplication;
import com.zerokol.views.joystickView.JoystickView;
import com.zerokol.views.joystickView.JoystickView.OnJoystickMoveListener;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView angleTextView;
private TextView powerTextView;
private TextView directionTextView;
// Importing also other views
private JoystickView joystick;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
angleTextView = (TextView) findViewById(R.id.angleTextView);
powerTextView = (TextView) findViewById(R.id.powerTextView);
directionTextView = (TextView) findViewById(R.id.directionTextView);
//Referencing also other views
joystick = (JoystickView) findViewById(R.id.joystickView);
//Event listener that always returns the variation of the angle in degrees, motion power in percentage and direction of movement
joystick.setOnJoystickMoveListener(new OnJoystickMoveListener() {
@Override
public void onValueChanged(int angle, int power, int direction) {
// TODO Auto-generated method stub
angleTextView.setText(" " + String.valueOf(angle) + "°");
powerTextView.setText(" " + String.valueOf(power) + "%");
switch (direction) {
case JoystickView.FRONT:
directionTextView.setText(R.string.front_lab);
break;
case JoystickView.FRONT_RIGHT:
directionTextView.setText(R.string.front_right_lab);
break;
case JoystickView.RIGHT:
directionTextView.setText(R.string.right_lab);
break;
case JoystickView.RIGHT_BOTTOM:
directionTextView.setText(R.string.right_bottom_lab);
break;
case JoystickView.BOTTOM:
directionTextView.setText(R.string.bottom_lab);
break;
case JoystickView.BOTTOM_LEFT:
directionTextView.setText(R.string.bottom_left_lab);
break;
case JoystickView.LEFT:
directionTextView.setText(R.string.left_lab);
break;
case JoystickView.LEFT_FRONT:
directionTextView.setText(R.string.left_front_lab);
break;
default:
directionTextView.setText(R.string.center_lab);
}
}
}, JoystickView.DEFAULT_LOOP_INTERVAL);
}
}
```
strings.xml
```xml
My Application
Angle:
Power:
Direc:
Front
Front-Right
Right
Right-Bottom
Bottom
Left-Bottom
Left
Front-Left
Center
http://zerokol.com
```
This is an implementation of a custom android view that works like a Joystick, this view controls two variables, angle motion and power motion of the screen touch.
[](http://creativecommons.org/licenses/by-sa/3.0/)
JoystickView by [AJ Alves](http://zerokol.com) is licensed under a [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/).
Based on a work at [github.com](http://github.com/zerokol/Joystick) and page [zerokol.com/2012/03/joystickview-uma-view-customizada-que.html](http://www.zerokol.com/2012/03/joystickview-uma-view-customizada-que.html).
Permissions beyond the scope of this license may be available at [http://github.com/zerokol](http://github.com/zerokol).
## Special Thanks to:
#### @mksmbrtsh (https://github.com/mksmbrtsh)
#### @Mayco-Anderson (https://github.com/Mayco-Anderson)