AnyTextView

Additional

Language
Java
Version
v1.2 (Jan 5, 2015)
Created
Apr 5, 2013
Updated
Dec 3, 2015 (Retired)
Owner
Hans Petter Eide (hanspeide)
Contributors
Maciej Ciemięga (MaciejCiemiega)
Artur Termenji (atermenji)
Hans Petter Eide (hanspeide)
3
Activity
Badge
Generate
Download
Source code

AnyTextView (deprecated)

Note: AnyTextView is no longer being maintained. I recommend replacing AnyTextView with the Calligraphy library instead.

Frustration arise the moment you realise that you cannot set a custom font on TextView, EditText and Button views using the android:typeface XML-attribute. AnyTextView is here to relieve your pain.

Setup

If you're using Gradle (recommended), add the following to your build.gradle file:

dependencies {
    compile 'com.ctrlplusz.anytextview:library:1.2'
}

If you're using Maven, add the following to your pom.xml file:

<dependency>
  <groupId>com.ctrlplusz.anytextview</groupId>
  <artifactId>library</artifactId>
  <version>1.2</version>
  <type>aar</type>
</dependency>

Alternatively, download the .aar and reference it from your project.

How to use:

  1. Copy the fonts you want to use into the assets/fonts folder of your project

  2. Add your application namespace to the root element in the XML file that is to contain AnyTextView's, e.g

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:foobar="http://schemas.android.com/apk/res-auto"
  .. >
  1. Instead of using
<TextView ../>

<!-- ... or ... -->

<EditText ../>

<!-- ... or ... -->

<Button ../>

use

<com.ctrlplusz.anytextview.AnyTextView 
 foobar:typeface="FontFileName.ttf" ..> <!-- Where "foobar" is the namespace defined in step 2 -->

<!-- ... or ... -->

<com.ctrlplusz.anytextview.AnyEditTextView 
 foobar:typeface="FontFileName.ttf" ..> 
 
<!-- ... or ... -->

<com.ctrlplusz.anytextview.AnyButton 
 foobar:typeface="FontFileName.ttf" ..> 
  1. Profit!

Is your app using AnyTextView?

  • Feel free to submit a pull request for this file, and add your app to this list.

Changelog

Version 1.2

  • Project is now using Gradle instead of Maven for building
  • Packaging changed to be .aar instead of .apklib
  • Prepared project for release in Central
  • Bumped version numbers to 21 (Lollipop)

Version 1.1.1

  • Added missing .recycle() call on TypedArray
  • Bumped targetSdkVersion to 19 (KitKat)

Version 1.1

  • Made it possible to use custom typefaces in EditText's using AnyEditTextView. AnyEditTextView's shares cache with AnyTextView's.
  • minSdkVersion set to 4
  • No longer tries to render typefaces if code is running in a visual editor

Version 1.0

  • Use custom typefaces in TextView's using AnyTextView

License

Copyright 2015 Hans Petter Eide

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

   http://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.