2016-04-07 30 views
0

Stillerini değiştirme konusunda sayısız deneme ve hata deniyorum, ancak araç çubuğu başlığının yazı tipini değiştiremiyorum (Kaligrafi kitaplığını da kullanıyorum) ve araç çubuğunun özelliğinin araç çubuğunda mı yoksa CollapsingToolbarLayout'ta mı olduğundan emin değilim. . Herhangi bir yardım için teşekkür ederiz, teşekkürler!CollapsingToolbarLayout öğesindeki araç çubuğu başlığının yazı tipi nasıl değiştirilir?

enter image description here

+0

'Çok sayıda deneme ve hata' Lütfen numaralandırın, gereksiz yere yaptığınız şeyi tekrarlamayız. –

+0

Umut, bu soruların bir cevabıdır: http://stackoverflow.com/questions/31738831/how-to-change-collapsingtoolbarlayout-typeface-and-size –

+0

Bunu bu sorunun cevabına gönderme: http://stackoverflow.com/questions/36560292/art-to-height-font-size-of-collapsingtoolbarlayout – brettbrdls

cevap

1

Bu bu durumda ben Arial kullanmak istiyorum, özel TypefaceSpan sınıfını kullanarak ve Aktivite böyle uygulayarak yapabilirsiniz:

SpannableString s = new SpannableString("CANTEEN"); 
s.setSpan(new TypefaceSpan(this, "Arial.otf"), 0, s.length(), 
     Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

// Update the action bar title with the TypefaceSpan instance 
ActionBar actionBar = getActionBar(); 
actionBar.setTitle(s); 

Bu sınıfa kopyalamanız gerekir ve uygulamanıza kaydedin ve yazı tipi dosyasını varlıklar/yazı tipleri dizinine koyun. (Bu eğitimde olduğu gibi: http://www.viralandroid.com/2016/01/how-to-use-custom-fonts-in-android-application.html) Dosyayı belleğe yükleyecek ve bu yazı tipiyle örneklerde kullanacaktır. 1 Normal (Droid Sans), 2 serif (Droid Serif), 3 Monospace (Droid Sans Mono): Eğer android varsayılan yazı tiplerinden birini kullanmak isterseniz

/** 
* 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("/%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); 
    } 
} 

, sadece üç var.

Umut eder!

+0

Ancak, (bu "FuturaPTCondMedium.otf") s.setSpan'dan (yeni TypefaceSpan (bu, "FuturaPTCondMedium.otf")) , 0, s.length(), yazıcının TypefaceSpan – brettbrdls

+0

için çözülemeyeceğini söyler Sınıf genel sınıfını kopyaladınız mı TypefaceSpan extend MetricAffectingSpan {yayınladım? –

+0

Yup, bir sınıf oluşturdum. – brettbrdls