Araç çubuğu metin boyutu nasıl değiştirilir?


97

İçindeki metnin boyutunu değiştirmek istiyorum Toolbar. Çünkü benim uygulamamda Toolbarmetin hem yatay hem de dikey mod için farklı boyutlara sahip.

Metnin metin boyutunu değiştirmek mümkün mü Toolbar?

Yanıtlar:


291

Kullanım app:titleTextAppearance:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    android:id="@+id/toolbar"
    app:titleTextAppearance="@style/Toolbar.TitleText" />

ve varsayılan başlık boyutunu özel bir stilde geçersiz kılın:

<style name="Toolbar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textSize">18sp</item>
</style>

Sonuç:

Ekran görüntüsü


Çalışıyor, çözüm için teşekkürler! Zamanımın çoğunu kurtardım!
hetsgandhi

24

örneğin bu sizin araç çubuğunuz

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:gravity="center"
    android:minHeight="?attr/actionBarSize"
    app:theme="@style/ThemeOverlay.AppCompat.ActionBar" />

bu görünümü basitçe ekleyebilirsiniz

    app:titleTextAppearance="@style/yourstyle"

style.xml

  <style name="yourstyle" parent="@style/Base.TextAppearance.AppCompat.Title">
    <item name="android:textSize">20sp</item>
</style>

bunun gibi...


bazı nedenlerden dolayı android:gravity="center"benim için ortalanmış hizalamayı ayarlamıyor ....: - /
Mobigital

6

TextViewAraç çubuğunuza bir ekleyebilir ve istediğiniz gibi özelleştirebilirsiniz:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent">
    <TextView
        android:id="@+id/toolbar_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:textSize="25sp"/>
</android.support.v7.widget.Toolbar>

4
Bu, API <21'i destekleyen uygulamalara uyan bir cevap gibi görünüyor. TitleTextAppearance güzel bir çözüm ancak sadece API 21 ve üzeri çalışıyor. Bununla birlikte, bu çözüme devam etmemiz gereken birkaç karmaşıklık var. SearchView kullanıyorsanız, görünümün genişletilmiş sürümü sol uca kadar genişlemeyecektir. Bunun yerine, yalnızca yeni eklenen başlık metni görünümünün sağ kenarına kadar uzayacaktır. Yani orada biraz özelleştirme yapmanız gerekecek ama yine bu özel bir durum. Genel anlamda bu, herhangi bir platform sürümü için iyi bir çözümdür.
Deepak GM

5

[Optional steps 1 & 2)

  1. Yazı tipi dosyanızı "Project / app / src / main / assets / fonts /" klasörüne yerleştirin.

Ardından font dosyasından şu şekilde bir Typeface nesnesi oluşturun:

Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/font_name.ttf");
  1. Şimdi, alt öğeyi (araç çubuğu başlığı metin görünümü) mevcut araç çubuğundan, varsayılan araç çubuğundan alın ve yukarıda oluşturduğumuz yazı tipi nesnesini iletin.
((TextView) toolbar.getChildAt(0)).setTypeface(typeFace); // set custom typeface - font
  1. Son olarak, araç çubuğunun başlık metni görünümünün metin boyutunu değiştirin
((TextView) toolbar.getChildAt(0)).setTextSize(30); // set title font size

2
SO'ya hoş geldiniz! Lütfen cevabınızı desteklemek için bir açıklama ekleyin.
Mahib

1
bu cevap SO'da Düşük Kaliteli gönderilerde geldi .... Cevabınıza yorum ekleyebilir misiniz? Mantığınızı açıklayın ve kodunuzun ne yapmak istediğine dair küçük bir yorum yapın. Bu OP yardımcı olacaktır, ama aynı zamanda gelecekteki kullanıcıları için yorumlarıyla olarak görev yapacak
Ram Ghadiyaram

Gezinme simgeniz varsa, getChildAt (1) :) kullanmalısınız :)
Gabor

3

Bunu şurada deneyin onCreate:

android.support.v7.app.ActionBar actionbar = getSupportActionBar();
TextView textview = new TextView(MainActivity.this);
RelativeLayout.LayoutParams layoutparams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

textview.setLayoutParams(layoutparams);
textview.setText(getString(R.string.your_string));
textview.setTextColor(Color.WHITE);
textview.setTextSize(18);

actionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionbar.setCustomView(textview);

Bu, Android-Examples.com'dan alınmıştır .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.