툴바 텍스트 크기를 변경하는 방법은 무엇입니까?


92

에서 텍스트 크기를 변경하고 싶습니다 Toolbar. 내 응용 프로그램에서Toolbar 텍스트는 가로 모드와 세로 모드 모두에서 크기가 다릅니다.

에서 텍스트의 텍스트 크기를 변경할 수 Toolbar있습니까?

답변:


283

사용 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" />

사용자 정의 스타일에서 기본 제목 크기를 재정의합니다.

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

결과:

스크린 샷


작동합니다. 해결책에 감사드립니다! 내 시간을 많이 절약했습니다!
hetsgandhi

23

예를 들어이 도구 모음

<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" />

이 뷰를 간단히 추가 할 수 있습니다.

    app:titleTextAppearance="@style/yourstyle"

style.xml

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

그렇게 ...


몇 가지 이유가 android:gravity="center"나를 위해 중앙에 정렬을 설정하지 않습니다는 .... :가 - /
Mobigital

5

TextView도구 모음에를 추가 하고 원하는대로 사용자 지정할 수 있습니다.

<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
이것은 API <21을 지원하는 앱에 적합한 답변 인 것 같습니다. titleTextAppearance는 좋은 솔루션이지만 API 21 이상에서만 작동합니다. 그러나이 솔루션을 처리해야하는 몇 가지 복잡한 점이 있습니다. SearchView를 사용하는 경우보기의 확장 된 버전이 왼쪽 끝까지 늘어나지 않습니다. 대신 새로 추가 된 제목 텍스트보기의 오른쪽 가장자리까지만 늘어납니다. 따라서 여기에서 몇 가지 사용자 지정을 수행해야하지만 이는 다시 한 번 구체적인 경우입니다. 일반적으로 이것은 모든 플랫폼 버전에 적합한 솔루션입니다.
Deepak GM

3

이것을 시도하십시오 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);

이것은 Android-Examples.com 에서 가져온 것입니다 .


3

[Optional steps 1 & 2)

  1. 글꼴 파일을 "Project / app / src / main / assets / fonts /"폴더에 배치합니다.

그런 다음 글꼴 파일에서 다음과 같이 Typeface 개체를 만듭니다.

Typeface typeFace = Typeface.createFromAsset(getAssets(), "fonts/font_name.ttf");
  1. 이제 기본 도구 모음 인 기존 도구 모음에서 자식 항목 (도구 모음 제목 textview)을 가져와 위에서 만든 서체 개체를 전달합니다.
((TextView) toolbar.getChildAt(0)).setTypeface(typeFace); // set custom typeface - font
  1. 마지막으로 툴바의 제목 텍스트보기의 텍스트 크기를 변경합니다.
((TextView) toolbar.getChildAt(0)).setTextSize(30); // set title font size

2
SO에 오신 것을 환영합니다! 답변을 뒷받침 할 설명을 추가하십시오.
Mahib

1
이 답변은 저품질 게시물에 나왔습니다 .... 답변에 주석을 추가 할 수 있습니까? 논리를 설명하고 코드가 수행 할 작업에 대해 약간의 설명을 제공합니다. 이것은 OP 도움이 될뿐만 아니라 미래의 사용자를위한 해설이 될 것입니다
램 Ghadiyaram에게

탐색 아이콘이있는 경우 getChildAt (1)을 사용해야합니다. :)
Gabor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.