SkillAgentSearch skills...

PianoChartView

Elementary and clean Android PianoView for displaying piano chord/scale charts in music theory apps for pianists.

Install / Use

/learn @Andy671/PianoChartView

README

Piano Chart View

License: 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

	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 <b>layout.xml</b>

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 <b>arrays.xml</b>

<!-- 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 <b>colors.xml</b>

    <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

Related Skills

View on GitHub
GitHub Stars56
CategoryDevelopment
Updated6mo ago
Forks12

Languages

Java

Security Score

92/100

Audited on Sep 11, 2025

No findings