Изменить цвет значка на панели инструментов - PullRequest
0 голосов
/ 06 октября 2018

Я использую компонент Android navigation для DrawerLayout с NavigationView.

public class MainActivity extends AppCompatActivity {

    private DrawerLayout drawerLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
        LoginActivity.toClose.finish();
        LoginViewModel viewModel = ViewModelProviders.of(this).get(LoginViewModel.class);
        Toolbar toolbar = findViewById(R.id.toolbar_menu);
        setSupportActionBar(toolbar);
        ActionBar actionbar = getSupportActionBar();
        assert actionbar != null;

        drawerLayout = findViewById(R.id.drawer_layout);
        NavigationView navigationView = findViewById(R.id.nav_view_menu);
        navigationView.inflateMenu(viewModel.setUserInterface());
        NavController navController = Navigation.findNavController(this, R.id.fragment_main);
        NavigationUI.setupWithNavController(navigationView, navController);
        NavigationUI.setupActionBarWithNavController(this,navController,drawerLayout);
     }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                drawerLayout.openDrawer(GravityCompat.START);
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

Все в порядке, за исключением того, что кнопка «Вверх» другого цвета, чем мой заголовокв панели действий.

XML для панели инструментов:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar_menu"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#000000"
    android:textColor="#FFF"
    android:textColorPrimary="#FFF"
    android:theme="@style/Toolbar"
    app:layout_constraintTop_toTopOf="parent"
    app:titleTextColor="#FFF"
    app:title="@string/app_name"/>

Заголовок белый, но значок черный.

Мой вопрос: как можноЯ изменяю цвет этого значка?

Даже если я изменю основной цвет на белый, а редактор темы покажет мне значок белого цвета, когда приложение работает, цвет все еще черный.

Приложение, которое я создаю, имеет minSdkVersion 15, и я запускаю его в телефоне с API 7 SDK 24. Я еще не запускал эмулятор с SDK 15.

1 Ответ

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

используйте этот стиль

<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
        <!-- Customize color of Toolbar -->
        <item name="colorControlNormal">@color/WhiteColor</item>
    </style>

, а затем используйте его в app:theme="@style/ToolbarTheme" на панели инструментов XML:

 <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar_menu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:textColor="#FFF"
        android:textColorPrimary="#FFF"
        app:theme="@style/ToolbarTheme"
        app:layout_constraintTop_toTopOf="parent"
        app:titleTextColor="#FFF"
        app:title="@string/app_name"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...