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

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

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

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

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

Как изменить цвет вот этой части ToolBar'a?
Миниатюры
Как изменить цвет одного из элементов ToolBar  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2016, 09:23     Как изменить цвет одного из элементов ToolBar
Посмотрите здесь:

Android Как изменить цвет заголовка приложения?
Android Как изменить цвет пункта ListView при нажатии на него и сохранять его цвет при проматывании списка?
Как изменить цвет кнопки, на которую установлен селектор? Android
Android Изменить цвет AlertDialog
Как изменить цвет у Status Bar Android
Как изменить цвет меню приложения? Android
Android Изменить цвет диалогового окна
Изменить цвет заголовка шаблона Android
Android Изменить цвет пикселя на изображении
Как изменить цвет рабочего окна с темного на белый? Android
Android Как можно изменить цвет переключателя SwitchCompat?
Изменить цвет у item-a в listView Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2012 / 1754 / 545
Регистрация: 12.05.2014
Сообщений: 6,208
Завершенные тесты: 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>
Паблито
2012 / 1754 / 545
Регистрация: 12.05.2014
Сообщений: 6,208
Завершенные тесты: 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
Ответ Создать тему
Опции темы

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