Установить цвет текста панели инструментов в kotlin - PullRequest
0 голосов
/ 13 октября 2018

Я пытался изменить цвет текста на панели инструментов, но ничего не получаю, я перепробовал много ответов из-за переполнения стека, но либо он не работает, либо приложение вылетает на этой строке setSupportActionBar(toolbar).

вот активность Kotlin:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_chat)
    supportActionBar?.setDisplayHomeAsUpEnabled(true)
    supportActionBar?.title = intent.getStringExtra(AppConstants.GROUP_NAME)
}

и макет:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#EEEEEE"
tools:context=".ChatActivity">

<android.support.v7.widget.RecyclerView
    android:id="@+id/recycler_view_messages"
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toTopOf="@id/relativeLayout_message"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />    

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Если вы хотите изменить его во всех приложениях, вы можете использовать стили, как описано в документации по actionBar :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@style/Theme.Holo">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
        <item name="android:actionMenuTextColor">@color/actionbar_text</item>
    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar"
           parent="@style/Widget.Holo.ActionBar">
        <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
    </style>

    <!-- ActionBar title text -->
    <style name="MyActionBarTitleText"
           parent="@style/TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@color/actionbar_text</item>
    </style>

    <!-- ActionBar tabs text styles -->
    <style name="MyActionBarTabText"
           parent="@style/Widget.Holo.ActionBar.TabText">
        <item name="android:textColor">@color/actionbar_text</item>
    </style>
</resources>

С другой стороны, если вы хотите настроитьПанель действий в зависимости от действия / фрагмента / вида, в котором вы находитесь:

  • Измените стиль своего приложения на вариант без панели действий, например "Theme.AppCompat.Light.NoActionBar
  • Добавить панель инструментовк макету вашей деятельности
  • Установите эту панель инструментов в качестве панели действий с setSupportActionBar(toolbar)

После этого вы можете ссылаться на панель инструментов, чтобы изменить цвет текста и полностью настроить панель действий либо изXML или программно

0 голосов
/ 13 октября 2018

Вы говорите, что ваше приложение падает на этой строке: setSupportActionBar(toolbar)но в методе onCreate() такой строки нет.Если у вас есть панель инструментов в вашей деятельности, используйте ее, чтобы изменить цвет текста:

toolbar.setTitleTextColor(Color.WHITE)

или любой другой цвет, который вы предпочитаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...