Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
SP Developer
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 102
#1

Как изменить цвет одного из элементов ToolBar - Программирование Android

28.08.2016, 09:23. Просмотров 431. Ответов 4
Метки нет (Все метки)

Как изменить цвет вот этой части ToolBar'a?
Миниатюры
Как изменить цвет одного из элементов ToolBar  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2016, 09:23     Как изменить цвет одного из элементов ToolBar
Посмотрите здесь:
Android Как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка?
Цвет 3-ёх точек в ToolBar Android
Как изменить цвет у Status Bar Android
Android Как изменить цвет заголовка приложения?
Как изменить цвет меню приложения? Android
Android Как можно изменить цвет переключателя SwitchCompat?
Как изменить цвет кнопки, на которую установлен селектор? Android
Как изменить цвет рабочего окна с темного на белый? Android
Android Изменить цвет AlertDialog
Android Изменить цвет диалогового окна
Изменить цвет заголовка шаблона Android
Изменить цвет у item-a в listView Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
28.08.2016, 10:18     Как изменить цвет одного из элементов ToolBar #2
Java
1
2
        int color = ContextCompat.getColor(this, R.color.myAwesomeColor);
        toolbar.getNavigationIcon().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
SP Developer
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 102
28.08.2016, 10:32  [ТС]     Как изменить цвет одного из элементов ToolBar #3
Я сделал все, как вы написали, и теперь программа вылетает с ошибкой
08-28 10:29:58.113 5052-5052/spsoft.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: spsoft.myapplication, PID: 5052
java.lang.RuntimeException: Unable to start activity ComponentInfo{spsoft.myapplication/spsoft.passwordgenerator.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setColorFilter(int, android.graphics.PorterDuff$Mode)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2790)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2855)
at android.app.ActivityThread.access$900(ActivityThread.java:181)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6117)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setColorFilter(int, android.graphics.PorterDuff$Mode)' on a null object reference
at spsoft.passwordgenerator.MainActivity.onCreate(MainActivity.java:213)
at android.app.Activity.performCreate(Activity.java:6374)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2743)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2855)*
at android.app.ActivityThread.access$900(ActivityThread.java:181)*
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1474)*
at android.os.Handler.dispatchMessage(Handler.java:102)*
at android.os.Looper.loop(Looper.java:145)*
at android.app.ActivityThread.main(ActivityThread.java:6117)*
at java.lang.reflect.Method.invoke(Native Method)*
at java.lang.reflect.Method.invoke(Method.java:372)*
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)*
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)*
Вот код:
Java
1
2
3
4
 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        int color = ContextCompat.getColor(this, R.color.white);
        toolbar.getNavigationIcon().setColorFilter(color, PorterDuff.Mode.SRC_ATOP);
И res/values/color.xml:
XML
1
  <color name="white">#FFFFFF</color>
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
28.08.2016, 10:47     Как изменить цвет одного из элементов ToolBar #4
а эта иконка вообще есть в тулбаре?
пруф?

Добавлено через 1 минуту
100% рабочий код
Java
1
2
3
4
5
6
7
8
9
10
11
12
  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        toggle.syncState();
        int color = ContextCompat.getColor(this, R.color.myAwesomeColor);
        toolbar.getNavigationIcon().setColorFilter(color, PorterDuff.Mode.DST_ATOP);
    }
Добавлено через 59 секунд
цвет иконке надо назначать после всех этих строк с toggle
SP Developer
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 102
28.08.2016, 11:02  [ТС]     Как изменить цвет одного из элементов ToolBar #5
Паблито, ах да, я просто забыл про toogle, я поставил код изменения цвета после него и все заработало, спасибо!
Yandex
Объявления
28.08.2016, 11:02     Как изменить цвет одного из элементов ToolBar
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru