Skip to content

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

License

Notifications You must be signed in to change notification settings

Andy671/PianoChartView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6b25ecf · Dec 28, 2017

History

25 Commits
Dec 13, 2017
Jan 25, 2017
Dec 19, 2017
Dec 12, 2017
Jan 25, 2017
Jan 25, 2017
Dec 28, 2017
Dec 12, 2017
Jan 25, 2017
Jan 25, 2017
Jan 25, 2017
Jan 25, 2017

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages