https://github.com/aritraroy/kerningviews
Provides a set of views which allows to adjust the spacing between the characters of that view, AKA, Kerning effect.
https://github.com/aritraroy/kerningviews
Last synced: about 2 months ago
JSON representation
Provides a set of views which allows to adjust the spacing between the characters of that view, AKA, Kerning effect.
- Host: GitHub
- URL: https://github.com/aritraroy/kerningviews
- Owner: aritraroy
- License: apache-2.0
- Created: 2016-05-31T08:58:31.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-05T16:56:51.000Z (about 7 years ago)
- Last Synced: 2025-08-10T21:18:49.078Z (2 months ago)
- Language: Java
- Homepage:
- Size: 225 KB
- Stars: 150
- Watchers: 7
- Forks: 19
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KerningViews
[  ](https://bintray.com/aritraroy/maven/kerning-views/_latestVersion) [](https://android-arsenal.com/api?level=14) [](https://opensource.org/licenses/Apache-2.0) [](https://android-arsenal.com/details/1/3662)
KerningViews provides a set of views (currently only `TextView` and `Button`) which lets you adjust the spacing between the characters in the text of that view also know as **Kerning**.
Kerning is a common feature in design apps like Photoshop or Sketch, but Android natively doesn't allow Kerning. From API level 21, Android allows you to do this using ```setLetterSpacing``` attribute , but there is no way to achieve this in pre-21 devices.
KerningViews provides a simple API to achieve this feature in `TextView` and `Button` text across all API levels in Android.
# Screenshot
This screenshot is from the sample app showing different text with different spacing (kerning factor).
# Download
This library is available in jCenter which is the default Maven repository used in Android Studio.
```groovy
dependencies {
// other dependencies here
implementation 'com.andrognito.kerningview:kerningview:x.y.z'
}
```# Usage
You should see the sample app for complete usage details. You can either use these views and set the attribute via XML or programmatically change the kerning factor as required.### XML
Just use the ```KerningTextView ``` or ```KerningButton ``` in your XML layouts. If you do not put the ```kv_spacing ``` attribute then it will behave as a normal TextView with no letter spacing.
You can customize the letter spacing by using the ```kv_spacing ``` attribute with different kerning factor (supports floating point values).
```java
```
### JAVAJust reference the views from your layout and use the setter to change the letter spacing of the texts.
```java
KerningTextView mText = (KerningTextView) findViewById(R.id.text);
mText.setKerningFactor(3.5f);
```# Contribution
This is a very simple and tiny library that solves one simple use case.But I would love to accept contributions to improve or add functionality to it. It is my first library too.
# About The Author
### Aritra Roy
Design-focussed Engineer. Full-stack Developer. Hardcore Android Geek. UI/UX Designer. Part-time Blogger.
# License
```
Copyright 2016 aritraroyLicensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```