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:
-
Copy the fonts you want to use into the assets/fonts folder of your project
-
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"
.. >
- 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" ..>
- 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.