https://github.com/Andy671/PianoChartView
Elementary and clean Android PianoView for displaying piano chord/scale charts in music theory apps for pianists.
https://github.com/Andy671/PianoChartView
android android-library java music-theory-apps piano-chords piano-keyboard pianoview scale-charts view xml
Last synced: 15 days ago
JSON representation
Elementary and clean Android PianoView for displaying piano chord/scale charts in music theory apps for pianists.
- Host: GitHub
- URL: https://github.com/Andy671/PianoChartView
- Owner: Andy671
- License: mit
- Created: 2017-01-25T13:46:13.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-12-28T20:57:14.000Z (over 7 years ago)
- Last Synced: 2025-04-13T02:42:43.166Z (23 days ago)
- Topics: android, android-library, java, music-theory-apps, piano-chords, piano-keyboard, pianoview, scale-charts, view, xml
- Language: Java
- Homepage:
- Size: 119 KB
- Stars: 55
- Watchers: 6
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-android-ui - PianoChartView - 显示钢琴和弦比例尺图 (图表(Chart))
README
# Piano Chart View
[](https://jitpack.io/#Andy671/PianoChartView)
[](https://developer.android.com/training/basics/supporting-devices/platforms.html)
[](https://opensource.org/licenses/MIT)## Introduction
Elementary and clean Android View for displaying piano chord and scale charts in music theory apps for pianists.## Sample
## Installation
### Step 1
Add the JitPack repository to your build file
```gradle
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
```### Step 2
Add the dependency
```gradle
dependencies {
compile 'com.github.Andy671:PianoChartView:v0.6.6'
}
```# Usage
### Creating from xml:In your layout.xml
```xml
xmlns:custom="http://schemas.android.com/apk/res-auto"
``````xml
```
In your arrays.xml
```xml
5
7
11
1
```In your colors.xml
```xml
#C8E6C9
#1B5E20
```### Editing from code:
```java
PianoChartView pianoChartView = (PianoChartView) findViewById(R.id.piano_chart_view_small);
pianoChartView.setCheckedKeys(new int[]{2, 5, 3, 8, 11, 12});
pianoChartView.setSize(PianoChartView.Size.Small);
pianoChartView.setLightKeysColor(Color.parseColor("#CFD8DC"));
pianoChartView.setDarkKeysColor(Color.parseColor("#607D8B"));
pianoChartView.setCheckedKeysColor(Color.parseColor("#B2EBF2"));
```See sample for more info
## XML Attributes
| Attribute | Type | Default |
| -----------------|:-------------------:| :------------|
| lightKeysColor | color | Color.WHITE |
| darkKeysColor | color | Color.DKGRAY |
| checkedKeysColor | color | #03A9F4 |
| additionalCheckedKeysColor | color | #03A9F4 |
| checkedKeys | reference (int[]) | { } |
| additionalCheckedKeys | reference (int[]) | { } |
| namesOfKeys | reference (String[]) | { } |
| size | enum [Large, Small] | Large |## Public methods
| Type | Method |
|--------------------- |--------------------------------|
| void | setCheckedKeys(int[] numbers) |
| void | setAdditionalCheckedKeys(int[] numbers) |
| void | setNamesOfKeys(String... keyLetters) |
| void | setSize(Size size) |
| void | setLightKeysColor(int color) |
| void | setDarkKeysColor(int color) |
| void | setCheckedKeysColor(int color) |
| void | setAdditionalCheckedKeysColor(int color) |
| int[] | getCheckedKeys() |
| int[] | getAdditionalCheckedKeys() |
| Size | getSize() |
| int | getLightKeysColor() |
| int | getDarkKeysColor() |
| int | getCheckedKeysColor() |
| int | getAdditionalCheckedKeysColor() |## Contribution
- Feel free to fork the repo, make pull requests or fix existing bug
- Feel free to open issues if you find some bug or unexpected behaviour