Android Open Source - ismartenit Typeface Span






From Project

Back to project page ismartenit.

License

The source code is released under:

GNU General Public License

If you think the Android project ismartenit listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.smartenit.client;
import android.content.Context;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.support.v4.util.LruCache;
import android.text.TextPaint;
import android.text.style.MetricAffectingSpan;
/*from  w w  w  .  jav a 2s . c  om*/
/**
 * Style a {@link Spannable} with a custom {@link Typeface}.
 * 
 * @author Tristan Waddington
 */
public class TypefaceSpan extends MetricAffectingSpan {
      /** An <code>LruCache</code> for previously loaded typefaces. */
    private static LruCache<String, Typeface> sTypefaceCache =
            new LruCache<String, Typeface>(12);

    private Typeface mTypeface;

    /**
     * Load the {@link Typeface} and apply to a {@link Spannable}.
     */
    public TypefaceSpan(Context context, String typefaceName) {
        mTypeface = sTypefaceCache.get(typefaceName);

        if (mTypeface == null) {
            mTypeface = Typeface.createFromAsset(context.getApplicationContext()
                    .getAssets(), String.format("fonts/%s", typefaceName));

            // Cache the loaded Typeface
            sTypefaceCache.put(typefaceName, mTypeface);
        }
    }

    @Override
    public void updateMeasureState(TextPaint p) {
        p.setTypeface(mTypeface);

        // Note: This flag is required for proper typeface rendering
        p.setFlags(p.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
    }

    @Override
    public void updateDrawState(TextPaint tp) {
        tp.setTypeface(mTypeface);

        // Note: This flag is required for proper typeface rendering
        tp.setFlags(tp.getFlags() | Paint.SUBPIXEL_TEXT_FLAG);
    }

}




Java Source Code List

com.smartenit.client.AreasFragment.java
com.smartenit.client.DeviceDetailActivity.java
com.smartenit.client.DevicesActivity.java
com.smartenit.client.MainActivity.java
com.smartenit.client.ScenesFragment.java
com.smartenit.client.SettingsActivity.java
com.smartenit.client.SquareImageView.java
com.smartenit.client.TypefaceSpan.java
com.smartenit.client.WizardsFragment.java
com.smartenit.client.adapter.AreaItemAdapter.java
com.smartenit.client.adapter.DeviceItemAdapter.java
com.smartenit.client.adapter.TabsPagerAdapter.java
com.smartenit.client.views.RobotoTextView.java