Skip to content

Commit

Permalink
modify readme
Browse files Browse the repository at this point in the history
  • Loading branch information
ideastudios committed Mar 27, 2018
1 parent 1ef9044 commit a83649b
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 12 deletions.
85 changes: 78 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# PianoKeyBoard
自定义的钢琴键盘 从A0 - C8 一共88个键 支持多点触控和多点滑动(如果与系统手势快捷方式冲突则不支持 比如miui (三指下拉截屏) 不支持三指及以上滑动) 支持键盘移动

# 效果图
<img src="/screenshots/screenshot.gif"/>
Expand Down Expand Up @@ -53,6 +54,81 @@
app:whiteKeyPressedDrawable="@drawable/white_down" />
```

# 回调
```java
/**
* 键盘的监听
*/
public interface KeyListener {

/**
* 键盘被按下的回调
*
* @param key 被按下的键
*/
void onKeyPressed(Key key);

/**
* 键盘被按松开的回调
*
* @param key 被松开的键
*/
void onKeyUp(Key key);

/**
* 键盘显示的第一个键的index/position
*
* @param position 键盘显示的第一个键的index/position
*/
void currentFirstKeyPosition(int position);
}

```

# 代码配置
```java
/**
* 设置是否播放音效
*/
public void setIsPlaySound(boolean isPlaySound) {

}

/**
* 根据黑/白键的code 获取黑/白键 code从21-108 和midi键盘对应
*/
public Key getKeyByKeycode(int code) {

}

/**
* 移动键盘到当前位置 即键盘显示的第一个白键为当前位置 默认为0 即第一个显示的白键为A0
*/
public void moveToPosition(int position) {
}

/**
* 以当前显示位置为基准,显示键盘的下一页/屏键位
*/
public void showNext() {

}

/**
* 以当前显示位置为基准,显示键盘的上一页/屏键位
*/
public void showPrevious() {

}

/**还有各种设置xml中属性的方法set×××() ……*/

```

# 键盘音效
键盘音效是以手机的音乐音量大小播放的(AudioManager.STREAM_MUSIC),如果需要播放音效,需要在Activity 创建时调用 SoundPlayUtils.init(context);



# Gradle
[![](https://jitpack.io/v/ideastudios/LuckView.svg)](https://jitpack.io/#ideastudios/LuckView)
Expand All @@ -74,12 +150,7 @@
```

# 注意
* LuckView属性中,只有奖品图片的偏移量 和 文字的偏移量 是相对于圆盘半径的,其他的相关属性都是相对于圆盘的直径
* LuckView中奖项的数量大小应该设置为可以能被360整除的数,如果不能被360整除,则会出现相应bug
* LuckView draw不同奖项图片 draw不同奖项名称是通过canvas.rotate(sectorAnger)的方式实现的



# 感谢
该工程参考了[Nipuream/LuckPan](https://github.com/Nipuream/LuckPan) 的相关代码和UI,感谢这位小伙伴
# 说明
* 此工程中的钢琴按键音音频文件和黑白键的背景图片来自互联网
8 changes: 6 additions & 2 deletions app/src/main/java/tech/oom/pianokeyboard/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,23 @@
public class MainActivity extends AppCompatActivity {
private SeekBar seekBar;
private PianoKeyBoard keyBoard;
/**
* 按键的listener
*/
PianoKeyBoard.KeyListener listener = new PianoKeyBoard.KeyListener() {
@Override
public void onKeyPressed(Key key) {

//某个键被按下的回调
}

@Override
public void onKeyUp(Key key) {

//某个键被松开的回调
}

@Override
public void currentFirstKeyPosition(int position) {
// 键盘显示的第一个键的index/position更新回调
seekBar.setMax(keyBoard.getMaxMovePosition());
seekBar.setProgress(position);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import android.view.MotionEvent;
import android.view.View;


import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@


/**
* @author zsl
* @blog http://blog.csdn.net/yy1300326388
*
*/
public class SoundPlayUtils {
// SoundPool对象
Expand Down

0 comments on commit a83649b

Please sign in to comment.