Piano Chart View

Additional

Language
Java
Version
v0.6.6 (Dec 28, 2017)
Created
Jan 25, 2017
Updated
Dec 28, 2017 (Retired)
Owner
Andrii Kotliarenko (Andy671)
Contributor
Andrii Kotliarenko (Andy671)
1
Activity
Badge
Generate
Download
Source code

Piano Chart View

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

 allprojects {
  repositories {
   ...
   maven { url 'https://jitpack.io' }
  }
 }

Step 2

Add the dependency

 dependencies {
  compile 'com.github.Andy671:PianoChartView:v0.6.6'
 }

Usage

Creating from xml:

In your layout.xml

xmlns:custom="http://schemas.android.com/apk/res-auto"
<!-- Custom arguments are optional - if you don't override them it uses default values -->
 <com.kekstudio.pianochartview.PianoChartView
        android:id="@+id/piano_chart_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        custom:checkedKeysColor="@android:color/white"
        custom:lightKeysColor="@color/colorCustomLight"
        custom:darkKeysColor="@color/colorCustomDark"
        custom:size="Small"
        custom:checkedKeys="@array/some_integer_array"/>

In your arrays.xml

<!-- Numbers = keys on keyboard -->
    <integer-array name="some_integer_array">
        <item>5</item>
        <item>7</item>
        <item>11</item>
        <item>1</item>
    </integer-array>

In your colors.xml

    <color name="colorCustomLight">#C8E6C9</color>
    <color name="colorCustomDark">#1B5E20</color>

Editing from code:

  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