Java 如何在android studio中更改导航视图中汉堡图标的颜色
我创建了一个导航抽屉,现在我想把导航抽屉汉堡图标的颜色改为金色。 如何将导航抽屉的汉堡包图标和文本的颜色更改为金色 这是我的代码,还有一张它现在看起来是什么样子的照片Java 如何在android studio中更改导航视图中汉堡图标的颜色,java,android,Java,Android,我创建了一个导航抽屉,现在我想把导航抽屉汉堡图标的颜色改为金色。 如何将导航抽屉的汉堡包图标和文本的颜色更改为金色 这是我的代码,还有一张它现在看起来是什么样子的照片 package com.example.entertainmentlab; import android.graphics.Color; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.os
package com.example.entertainmentlab;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.Menu;
import android.widget.Toast;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.navigation.NavigationView;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
public class HomeActivity extends AppCompatActivity {
private AppBarConfiguration mAppBarConfiguration;
protected ActionBarDrawerToggle drawerToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_trending, R.id.nav_audio, R.id.nav_videos)
.setDrawerLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
final Drawable upArrow = getResources().getDrawable(R.drawable.nav);
upArrow.setColorFilter(Color.parseColor("#FFFFFF"), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home, menu);
return true;
}
@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}
我找到了一种方法,可以用这段代码更改汉堡包图标的颜色。我用style.xml编写了这段代码
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="drawerArrowStyle">@style/DrawerIcon</item>
<item name="actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="MyActionButtonOverflow" parent="Widget.AppCompat.Light.ActionButton.Overflow">
<item name="color">#ffd700</item>
</style>
<style name="DrawerIcon" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="color">#ffd700</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
现在你得到了
这是否回答了您的问题?
toolbar.setTitleTextColor(getResources().getColor(R.color.colorelabGold));