Skip to content

ikocijan/MagicViews

Repository files navigation

MagicViews

Maven Central

Provides a simple way to set custom font in Android application.

ScreenshotsScreenshots

Adding to your project

  1. Add the library as a dependency to your build.gradle
compile 'com.ivankocijan:MagicViews:version@aar'
  1. Specify path to fonts folder in onCreate method of your Application class (See example app).
   public class MyApplication extends Application {
   
        @Override
        public void onCreate() {
            super.onCreate();
            
             MagicViews.setFontFolderPath(this, "fontFolderPath");
        
        }
   
   }
   

Usage from layout

  1. Add your application namespace to the root element in the XML xmlns:app="http://schemas.android.com/apk/res-auto"

  2. Instead of TextView use com.ivankocijan.magicviews.views.MagicTextView

    <com.ivankocijan.magicviews.views.MagicTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:typeFace="cha_chicle.otf"/>

For a complete list of features and how to use them see wiki page.

Supported views

  • TextView
  • EditText
  • Button
  • CheckBox
  • CheckedTextView
  • RadioButton
  • AutoCompleteTextView
  • MultiAutoCompleteTextView
  • PreferenceGroup
  • Preference
  • CheckboxPreference
  • SwitchPreference
  • EditTextPreference
  • Span

Supported Android versions

  • 2.3 or higher

Change log

V3.1.0

V3.0.1

  • New letter spacing attribute which lets you add horizonatal spacing between characters
  • TabLayout support - you can now set custom font on TabLayout

See wiki for more info.

You might encounter this issue after updating: /build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml

There are two options to fix that:

Exclude appcompact-v7 from MagicViews library:

    compile('com.ivankocijan:MagicViews:3.1.0@aar') {
        exclude group: 'com.android.support', module: 'appcompat-v7'
    }

or Compile your app with Android SDK 23:

   android {
      compileSdkVersion 23
   }

V3.0

  • Library now uses new AppCompat views which backport some cool stuff to pre-lollipop devices. See Android developer blogspot for more info
  • Added new views: RadioButton, AutoCompleteTextView and MultiAutoCompleteTextView
  • Font can now be set from code by calling setFont(String fontName) method
  • Example app is updated with new features
  • Bugfixes

Contributing

Feedback and code contributions are very much welcomed. Just make a pull request with a short description of your changes. By making contributions to this project you give permission for your code to be used under the same license.