Skip to content

Commit a83649b

Browse files
committed
modify readme
1 parent 1ef9044 commit a83649b

File tree

4 files changed

+85
-12
lines changed

4 files changed

+85
-12
lines changed

README.md

Lines changed: 78 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# PianoKeyBoard
2+
自定义的钢琴键盘 从A0 - C8 一共88个键 支持多点触控和多点滑动(如果与系统手势快捷方式冲突则不支持 比如miui (三指下拉截屏) 不支持三指及以上滑动) 支持键盘移动
23

34
# 效果图
45
<img src="/screenshots/screenshot.gif"/>
@@ -53,6 +54,81 @@
5354
app:whiteKeyPressedDrawable="@drawable/white_down" />
5455
```
5556

57+
# 回调
58+
```java
59+
/**
60+
* 键盘的监听
61+
*/
62+
public interface KeyListener {
63+
64+
/**
65+
* 键盘被按下的回调
66+
*
67+
* @param key 被按下的键
68+
*/
69+
void onKeyPressed(Key key);
70+
71+
/**
72+
* 键盘被按松开的回调
73+
*
74+
* @param key 被松开的键
75+
*/
76+
void onKeyUp(Key key);
77+
78+
/**
79+
* 键盘显示的第一个键的index/position
80+
*
81+
* @param position 键盘显示的第一个键的index/position
82+
*/
83+
void currentFirstKeyPosition(int position);
84+
}
85+
86+
```
87+
88+
# 代码配置
89+
```java
90+
/**
91+
* 设置是否播放音效
92+
*/
93+
public void setIsPlaySound(boolean isPlaySound) {
94+
95+
}
96+
97+
/**
98+
* 根据黑/白键的code 获取黑/白键 code从21-108 和midi键盘对应
99+
*/
100+
public Key getKeyByKeycode(int code) {
101+
102+
}
103+
104+
/**
105+
* 移动键盘到当前位置 即键盘显示的第一个白键为当前位置 默认为0 即第一个显示的白键为A0
106+
*/
107+
public void moveToPosition(int position) {
108+
}
109+
110+
/**
111+
* 以当前显示位置为基准,显示键盘的下一页/屏键位
112+
*/
113+
public void showNext() {
114+
115+
}
116+
117+
/**
118+
* 以当前显示位置为基准,显示键盘的上一页/屏键位
119+
*/
120+
public void showPrevious() {
121+
122+
}
123+
124+
/**还有各种设置xml中属性的方法set×××() ……*/
125+
126+
```
127+
128+
# 键盘音效
129+
键盘音效是以手机的音乐音量大小播放的(AudioManager.STREAM_MUSIC),如果需要播放音效,需要在Activity 创建时调用 SoundPlayUtils.init(context);
130+
131+
56132

57133
# Gradle
58134
[![](https://jitpack.io/v/ideastudios/LuckView.svg)](https://jitpack.io/#ideastudios/LuckView)
@@ -74,12 +150,7 @@
74150
75151
```
76152

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

83154

84-
# 感谢
85-
该工程参考了[Nipuream/LuckPan](https://github.com/Nipuream/LuckPan) 的相关代码和UI,感谢这位小伙伴
155+
# 说明
156+
* 此工程中的钢琴按键音音频文件和黑白键的背景图片来自互联网

app/src/main/java/tech/oom/pianokeyboard/MainActivity.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,23 @@
1313
public class MainActivity extends AppCompatActivity {
1414
private SeekBar seekBar;
1515
private PianoKeyBoard keyBoard;
16+
/**
17+
* 按键的listener
18+
*/
1619
PianoKeyBoard.KeyListener listener = new PianoKeyBoard.KeyListener() {
1720
@Override
1821
public void onKeyPressed(Key key) {
19-
22+
//某个键被按下的回调
2023
}
2124

2225
@Override
2326
public void onKeyUp(Key key) {
24-
27+
//某个键被松开的回调
2528
}
2629

2730
@Override
2831
public void currentFirstKeyPosition(int position) {
32+
// 键盘显示的第一个键的index/position更新回调
2933
seekBar.setMax(keyBoard.getMaxMovePosition());
3034
seekBar.setProgress(position);
3135
}

library/src/main/java/tech/oom/library/keyBoard/PianoKeyBoard.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import android.view.MotionEvent;
1212
import android.view.View;
1313

14-
1514
import java.util.ArrayList;
1615
import java.util.Collections;
1716
import java.util.HashMap;

library/src/main/java/tech/oom/library/sound/SoundPlayUtils.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88

99

1010
/**
11-
* @author zsl
12-
* @blog http://blog.csdn.net/yy1300326388
11+
*
1312
*/
1413
public class SoundPlayUtils {
1514
// SoundPool对象

0 commit comments

Comments
 (0)